在过去的 5-10 年左右的时间里,我一直在使用 Firefox,但一直不知道如何正确禁用弹出窗口。我现在在 Linux 上使用没有 Flash 或 Java 的 Firefox 24.2.0。我以前只是禁用 JavaScript,这似乎有效(至少对于不需要 JavaScript 的网站而言),但新版本的 Firefox 删除了该功能。我发现我每天浪费的主要时间就是关闭弹出窗口。我通常每天会收到 10-500 个弹出窗口。过去几年,我大量使用了大约 40 台计算机,所有计算机都安装了不同版本的 Linux 和 Windows,位于不同位置(家庭/工作/学校),但我总是遇到同样的问题。所以这似乎不是恶意软件问题。
这些年来,我总是检查“阻止弹出窗口”按钮:
但似乎这并没有达到我想要的效果。例如这当我点击描述时,页面只显示一个弹出窗口。此外这当我点击描述或文件名时,页面会弹出一个窗口。有时我甚至会看到显示 4-10 个弹出窗口的页面。
也许我使用了错误的选项来禁用弹出窗口?我打开的这个选项实际上有什么作用?
答案1
Firefox 设置
许多设置,特别是最先进的设置,并不存在于用户界面(UI)选项对话框中。
从默认值修改的首选项设置保存在
prefs.js
文件。最近的 Mozilla 应用程序包含一个可从应用程序界面访问的配置编辑器,而不是直接编辑此文件。来源:编辑配置
在 Firefox 中,
about:config
在位置栏 (地址栏) 中键入并按Enter显示首选项列表 [...]。如果您看到带有警告消息的页面,“这可能会使您的保修失效!”,请单击标有“我会小心的,我保证!”的按钮继续(事实上,根本没有任何保修,这更像是一个笑话,以确保用户知道他们将要做什么)。使用那里的复选框可避免将来出现警告。要添加新首选项,请在首选项列表中的任意位置单击(右键单击)。在上下文菜单中,选择新的然后选择您要添加的偏好类型。
要修改现有首选项,请在首选项上单击(右键单击),选择调整并输入新值。
要将首选项重置为其默认值或删除添加的首选项,请在首选项上单击上下文(右键单击),然后选择重置。
您可以使用搜索页面顶部的搜索栏
about:config
用于筛选要检查的首选项。与实际配置变量不同,搜索栏不区分大小写。来源:关于:配置
弹出相关偏好设置
以下是我整理的一份详细清单:
browser.link.open_newwindow
类型整数
默认值3
描述控制在何处打开通常在新窗口中打开的链接。可能的值:
1
(或其他任何内容)- 在当前选项卡或窗口中打开。2
- 在新窗口中打开。3
- 在新标签页中打开。
启用或禁用在新标签页中打开新窗口UI 选项将在3
和之间切换此偏好设置2
。browser.link.open_newwindow.restriction
类型整数
默认值2
描述限制 JavaScript 打开的所有新窗口。可能的值:
0
- 总是强制将新窗口放入选项卡中。1
- 不限制新窗口。2
- 强制将未指定其特征(例如宽度、高度)的窗口放入选项卡中。
browser.popups.showPopupBlocker
类型布尔值
默认值true
描述确定当弹出窗口被阻止时是否在状态栏中显示图标。已过时,保留原样。
dom.disable_open_click_delay
类型整数
默认值1000
描述根据当前弹出窗口阻止程序设置处理通过JavaScript 计时事件使用小于该值的延迟(以毫秒为单位)。
dom.disable_open_during_load
类型布尔值
默认值true
描述启用后,阻止在页面加载时创建的弹出窗口。此设置相当于阻止弹出窗口UI 选项。
dom.disable_window_flip
类型布尔值
默认值true
描述通过 JavaScript 确定窗口是否能够获得焦点。
dom.disable_window_move_resize
类型布尔值
默认值false
描述确定是否可以使用 JavaScript 移动或调整窗口大小。
dom.disable_window_open_feature.*
描述这不是一个单一的首选项,而是一组不同的布尔设置,当设置为 时,可以防止特定的弹出功能(例如地址栏、滚动条等)被禁用
true
。可用的首选项:dom.disable_window_open_feature.close
dom.disable_window_open_feature.location
dom.disable_window_open_feature.menubar
dom.disable_window_open_feature.minimizable
dom.disable_window_open_feature.personalbar
dom.disable_window_open_feature.resizable
dom.disable_window_open_feature.scrollbars
dom.disable_window_open_feature.status
dom.disable_window_open_feature.titlebar
dom.disable_window_open_feature.toolbar
dom.disable_window_status_change
类型布尔值
默认值true
描述启用后,可防止通过 JavaScript 更改状态栏文本。
dom.popup_allowed_events
类型细绳
默认值change click dblclick mouseup reset submit touchend
描述允许创建弹出窗口的事件的空格分隔列表。虽然没有记录,但将值设置为单个空格字符将创建一个空列表,从而禁用所有弹出窗口(例外情况仍然适用)。通过指定不存在的事件(例如)可以实现相同的效果
none
。dom.popup_maximum
类型整数
默认值20
描述限制同时打开的弹出窗口的数量。
privacy.popups.disable_from_plugins
类型整数
默认值2
描述控制插件(例如 Adobe Flash Player)创建的弹出窗口。可能的值:
0
- 无限制。1
- 将弹出窗口数量限制为dom.popup_maximum
。2
- 阻止除白名单网站之外的所有弹出窗口。3
- 阻止所有弹出窗口。
privacy.popups.policy
类型整数
默认值1
描述已弃用。请
dom.disable_open_during_load
改用。privacy.popups.showBrowserMessage
类型布尔值
默认值true
描述确定是否在阻止一个或多个弹出窗口时显示信息栏。可以使用弹出窗口被阻止时不显示信息栏UI 选项。
privacy.popups.usecustom
类型布尔值
默认值true
描述显然未使用。
推荐设置
这些是我目前用于上述设置的值;您可以自行尝试其他设置。使用 Firefox 27.0.1 测试。
browser.link.open_newwindow;3
browser.link.open_newwindow.restriction;0
browser.popups.showPopupBlocker;true
dom.disable_open_click_delay;1000
dom.disable_open_during_load;true
dom.disable_window_flip;true
dom.disable_window_move_resize;true
dom.disable_window_open_feature.close;true
dom.disable_window_open_feature.location;true
dom.disable_window_open_feature.menubar;true
dom.disable_window_open_feature.minimizable;true
dom.disable_window_open_feature.personalbar;true
dom.disable_window_open_feature.resizable;true
dom.disable_window_open_feature.scrollbars;true
dom.disable_window_open_feature.status;true
dom.disable_window_open_feature.titlebar;true
dom.disable_window_open_feature.toolbar;true
dom.disable_window_status_change;true
dom.popup_allowed_events;
dom.popup_maximum;20
privacy.popups.disable_from_plugins;2
privacy.popups.policy;1
privacy.popups.showBrowserMessage;false
privacy.popups.usecustom;true