弹出窗口阻止程序有何功能?
弹出窗口阻止程序可阻止显示大多数不需要的弹出窗口。最终用户单击链接时打开的弹出窗口将不会被阻止。
最终用户和 IT 管理员可让特定的域打开程序设计弹出窗口。开发人员将能针对主持 Internet Explorer 的应用程序,使用或扩展 Internet Explorer 中的弹出功能。
此功能适用于哪些用户?
对于大多数最终用户,浏览 Web 将变得不那么讨厌,因为不会自动显示不需要的弹出窗口。
对于 Web 开发人员,弹出窗口阻止程序会影响由网站打开的窗口的行为,例如,使用 window.open()
和 showHelp()
方法
对于应用程序开发人员,有一个称为 INewWindowManager
的新用户界面。
使用 Internet Explorer 中的渲染引擎显示 HTML 的应用程序可选择使用或扩展弹出窗口阻止程序功能。
Windows Server 2003 Service Pack 1 为此功能添加了哪种新功能?
弹出窗口阻止程序是 Internet Explorer 的新功能,可细分为三个部分:
- 用户体验更改、默认值以及高级选项。
- 当前应用程序编程接口 (API) 行为的更改,例如
window.open
和showHelp
。 - 新的
INewWindowManager
接口,允许应用程序使用 Internet Explorer 中的弹出技术。
弹出窗口阻止程序功能
详细说明
默认值
默认情况下弹出窗口阻止程序处于打开状态。不管弹出窗口阻止程序的设置为何,对弹出窗口的大小和位置都有一些限制。弹出窗口打开时不可大于可视桌面区域或位于此区域之外。详细信息,请参阅本文档中的“Windows Restrictions”。
此功能处于启用状态时,自动和背景弹出窗口会被阻止,但通过用户单击打开的窗口仍会以常规方式打开。请注意,默认情况下“可信站点”区域和“本地 Intranet”区域不会阻止其弹出窗口,因为它们被认为是安全的。可在“Internet 选项”的“安全”选项卡中配置此设置。
启用弹出窗口阻止程序
默认情况下弹出窗口阻止程序处于启用状态。您可使用“弹出窗口阻止程序”项在“工具”菜单中对此进行更改,也可在弹出窗口被阻止时于信息栏中进行更改。
弹出窗口被阻止时
如果某站点打开 Internet Explorer 阻止的弹出窗口,信息栏和状态栏中会显示一则通知,并会发出声音。如果您单击信息栏或状态栏中的通知,将看到一个菜单,包含下列选项:
- 暂时允许弹出窗口。重新加载页,并允许弹出窗口。
- 总是允许来自此站点的弹出窗口。将当前站点添加到“允许”列表。
- 设置。显示更多弹出窗口阻止程序设置菜单项,并允许访问“弹出窗口阻止程序设置”窗口。
Note |
---|
弹出窗口在打开时,可通过按 Ctrl 允许弹出窗口打开 |
高级选项
Internet Explorer 通过“弹出窗口阻止程序设置”提供高级配置选项。要访问这些设置,请打开“Internet 选项”,单击“隐私”,然后在“弹出窗口阻止程序”区域单击“设置”,以打开“弹出窗口阻止程序设置”。您可配置下列选项:
- 允许的网站地址。输入一个 URL 并单击“添加”,将站点添加到“允许的站点”列表。列表中的任何站点都可打开弹出窗口。
- 筛选器级别。有三种可与弹出窗口阻止程序一起使用的不同筛选器级别:
- 高: 阻止所有弹出窗口。用户单击链接时,弹出窗口阻止程序的默认行为允许站点打开弹出窗口。此设置通过阻止自链接打开的窗口更改此行为。如果启用此设置,可通过在单击链接以启动弹出窗口的同时按 Ctrl,允许打开弹出窗口。
- 中: 阻止大多数自动弹出窗口。这是默认的弹出窗口阻止程序设置。此设置会阻止大多数将网站加载到浏览器时自动打开的弹出窗口,但不会阻止单击链接时打开的弹出窗口。
- 低: 允许来自安全站点的弹出窗口。此设置允许安全的网站(那些使用 https:// 协议的网站)自动启动弹出窗口,而不需要将它们添加到“允许的站点”列表。
- 配置声音。通过“弹出窗口阻止程序设置”阻止弹出窗口时,您可在弹出窗口阻止程序是否发出声音之间切换。要这样做,请打开“Internet 选项”,单击“隐私”,然后在“弹出窗口阻止程序”区域单击“设置”,以打开“弹出窗口阻止程序设置”。在“通知和筛选器级别”区域,适当选择或清除“弹出窗口被阻止时发出声音”旁边的复选框。 您也可更改发出的声音。要这样做,请单击“开始”,再单击“控制面板”,然后双击“声音和音频设备”图标,以打开其属性表。然后单击“声音”选项卡,单击“阻止的弹出窗口”程序事件,并在“声音”下拉列表中选择要发出的声音。
Note |
---|
默认情况下,会在 Internet 和“受限站点”安全区域中使用弹出窗口阻止程序。可将弹出窗口阻止程序的作用域扩展到包括“本地 Intranet”或“可信站点”安全区域,方法是:单击此区域,然后将“该区域的安全级别”区域中的滑块移动到“中”或“高”;或者单击“自定义级别”,然后将“使用弹出窗口阻止程序”的设置更改为“启用”。 |
弹出窗口阻止程序处于启用状态时,何时将看到弹出窗口?
在下列情况下,仍会看到弹出窗口处于打开状态:
- 弹出窗口是通过用户单击链接打开的。
- 弹出窗口是由在计算机上运行的软件打开的。
- 弹出窗口是由从网站实例化的 ActiveX 控件打开的。
- 弹出窗口是从“可信站点”或“本地 Intranet”区域打开的,而您尚未将弹出窗口阻止程序的作用域扩展到包括这些区域。
为什么说此项更改是重要的?
已经在许多方面误用了弹出窗口。通过阻止弹出窗口,可使您对浏览体验进行更多地控制。
INewWindowManager
详细说明
默认情况下,弹出窗口阻止程序功能不适用于主持 WebBrowser
控件或 MSHTML 的应用程序。这些应用程序有能力使用或扩展弹出窗口阻止程序,使用自己的弹出窗口阻止程序,或通过 INewWindowManager
接口禁用其应用程序的弹出窗口管理。
Windows Server 2003 Service Pack 1 对哪种现有功能进行了更改?
方法:window.open()、window.external.navigateAndFind()、showHelp()
详细说明
如果这些功能之一通常返回一个窗口对象,则窗口被阻止时此功能将返回空值。Web 开发人员可检查空值以确定他们尝试打开的窗口是否已阻止。
打开时位于可视屏幕之外的窗口会放置到可视区域。
打开时大于可视屏幕的窗口会调整到可视区域。
有关详细信息,请参阅本文档后面的“Internet Explorer Window Restrictions”。
它的工作方式有何不同?
在“Internet”区域中,弹出窗口阻止程序会阻止在用户不单击链接的情况下通过这些方法自动打开的窗口。如果客户启用了更严格的阻止设置,通过单击链接由这些方法打开的窗口也可能被阻止。
我如何解决这些问题?
确保使用 window.open()
打开的所有窗口都是通过用户交互打开,而不是通过您的代码自动打开。
Windows Server 2003 Service Pack 1 添加或更改了哪些设置?
弹出窗口阻止程序设置
设置名称 | 位置 | 以前的默认值 | 默认值 | 可能值 |
---|---|---|---|---|
URL 名称 |
HKEY_CURRENT_USER \Software\Microsoft \Internet Explorer\New Windows\Allow |
无 |
空 |
可信站点的 URL 名称 |
我是否需要更改我的代码以使用 WindowsServer2003 Service Pack1?
网页作者应检查打开的所有窗口是否有空返回值。这将指明是否成功地打开弹出窗口,并允许您处理这两种情况。
如果您的软件自动打开窗口,这些窗口将被阻止。根据本文档中前面所述,查找执行相同操作的其他方法。打开窗口的最好方法是让客户单击链接或图形元素。