Internet Explorer 彈出窗口阻止程序
彈出窗口阻止程序有何功能?
彈出窗口阻止程序可阻止顯示大多數不需要的彈出窗口。最終用戶單擊鏈接時打開的彈出窗口將不會被阻止。
最終用戶和 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 阻止的彈出窗口,信息欄和狀態欄中會顯示一則通知,并會發出聲音。如果您單擊信息欄或狀態欄中的通知,將看到一個菜單,包含下列選項:
- 暫時允許彈出窗口。重新加載頁,并允許彈出窗口。
- 總是允許來自此站點的彈出窗口。將當前站點添加到“允許”列表。
- 設置。顯示更多彈出窗口阻止程序設置菜單項,并允許訪問“彈出窗口阻止程序設置”窗口。
![]() |
---|
彈出窗口在打開時,可通過按 Ctrl 允許彈出窗口打開 |
高級選項
Internet Explorer 通過“彈出窗口阻止程序設置”提供高級配置選項。要訪問這些設置,請打開“Internet 選項”,單擊“隱私”,然后在“彈出窗口阻止程序”區域單擊“設置”,以打開“彈出窗口阻止程序設置”。您可配置下列選項:
- 允許的網站地址。輸入一個 URL 并單擊“添加”,將站點添加到“允許的站點”列表。列表中的任何站點都可打開彈出窗口。
- 篩選器級別。有三種可與彈出窗口阻止程序一起使用的不同篩選器級別:
- 高: 阻止所有彈出窗口。用戶單擊鏈接時,彈出窗口阻止程序的默認行為允許站點打開彈出窗口。此設置通過阻止自鏈接打開的窗口更改此行為。如果啟用此設置,可通過在單擊鏈接以啟動彈出窗口的同時按 Ctrl,允許打開彈出窗口。
- 中: 阻止大多數自動彈出窗口。這是默認的彈出窗口阻止程序設置。此設置會阻止大多數將網站加載到瀏覽器時自動打開的彈出窗口,但不會阻止單擊鏈接時打開的彈出窗口。
- 低: 允許來自安全站點的彈出窗口。此設置允許安全的網站(那些使用 https:// 協議的網站)自動啟動彈出窗口,而不需要將它們添加到“允許的站點”列表。
- 配置聲音。通過“彈出窗口阻止程序設置”阻止彈出窗口時,您可在彈出窗口阻止程序是否發出聲音之間切換。要這樣做,請打開“Internet 選項”,單擊“隱私”,然后在“彈出窗口阻止程序”區域單擊“設置”,以打開“彈出窗口阻止程序設置”。在“通知和篩選器級別”區域,適當選擇或清除“彈出窗口被阻止時發出聲音”旁邊的復選框。 您也可更改發出的聲音。要這樣做,請單擊“開始”,再單擊“控制面板”,然后雙擊“聲音和音頻設備”圖標,以打開其屬性表。然后單擊“聲音”選項卡,單擊“阻止的彈出窗口”程序事件,并在“聲音”下拉列表中選擇要發出的聲音。
![]() |
---|
默認情況下,會在 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?
網頁作者應檢查打開的所有窗口是否有空返回值。這將指明是否成功地打開彈出窗口,并允許您處理這兩種情況。
如果您的軟件自動打開窗口,這些窗口將被阻止。根據本文檔中前面所述,查找執行相同操作的其他方法。打開窗口的最好方法是讓客戶單擊鏈接或圖形元素。