Internet Explorer 彈出窗口阻止程序
彈出窗口阻止程序有何功能?
彈出窗口阻止程序可阻止顯示大多數(shù)不需要的彈出窗口。最終用戶單擊鏈接時(shí)打開的彈出窗口將不會(huì)被阻止。
最終用戶和 IT 管理員可讓特定的域打開程序設(shè)計(jì)彈出窗口。開發(fā)人員將能針對(duì)主持 Internet Explorer 的應(yīng)用程序,使用或擴(kuò)展 Internet Explorer 中的彈出功能。
此功能適用于哪些用戶?
對(duì)于大多數(shù)最終用戶,瀏覽 Web 將變得不那么討厭,因?yàn)椴粫?huì)自動(dòng)顯示不需要的彈出窗口。
對(duì)于 Web 開發(fā)人員,彈出窗口阻止程序會(huì)影響由網(wǎng)站打開的窗口的行為,例如,使用 window.open()
和 showHelp()
方法
對(duì)于應(yīng)用程序開發(fā)人員,有一個(gè)稱為 INewWindowManager
的新用戶界面。
使用 Internet Explorer 中的渲染引擎顯示 HTML 的應(yīng)用程序可選擇使用或擴(kuò)展彈出窗口阻止程序功能。
Windows Server 2003 Service Pack 1 為此功能添加了哪種新功能?
彈出窗口阻止程序是 Internet Explorer 的新功能,可細(xì)分為三個(gè)部分:
- 用戶體驗(yàn)更改、默認(rèn)值以及高級(jí)選項(xiàng)。
- 當(dāng)前應(yīng)用程序編程接口 (API) 行為的更改,例如
window.open
和showHelp
。 - 新的
INewWindowManager
接口,允許應(yīng)用程序使用 Internet Explorer 中的彈出技術(shù)。
彈出窗口阻止程序功能
詳細(xì)說明
默認(rèn)值
默認(rèn)情況下彈出窗口阻止程序處于打開狀態(tài)。不管彈出窗口阻止程序的設(shè)置為何,對(duì)彈出窗口的大小和位置都有一些限制。彈出窗口打開時(shí)不可大于可視桌面區(qū)域或位于此區(qū)域之外。詳細(xì)信息,請(qǐng)參閱本文檔中的“Windows Restrictions”。
此功能處于啟用狀態(tài)時(shí),自動(dòng)和背景彈出窗口會(huì)被阻止,但通過用戶單擊打開的窗口仍會(huì)以常規(guī)方式打開。請(qǐng)注意,默認(rèn)情況下“可信站點(diǎn)”區(qū)域和“本地 Intranet”區(qū)域不會(huì)阻止其彈出窗口,因?yàn)樗鼈儽徽J(rèn)為是安全的??稍?ldquo;Internet 選項(xiàng)”的“安全”選項(xiàng)卡中配置此設(shè)置。
啟用彈出窗口阻止程序
默認(rèn)情況下彈出窗口阻止程序處于啟用狀態(tài)。您可使用“彈出窗口阻止程序”項(xiàng)在“工具”菜單中對(duì)此進(jìn)行更改,也可在彈出窗口被阻止時(shí)于信息欄中進(jìn)行更改。
彈出窗口被阻止時(shí)
如果某站點(diǎn)打開 Internet Explorer 阻止的彈出窗口,信息欄和狀態(tài)欄中會(huì)顯示一則通知,并會(huì)發(fā)出聲音。如果您單擊信息欄或狀態(tài)欄中的通知,將看到一個(gè)菜單,包含下列選項(xiàng):
- 暫時(shí)允許彈出窗口。重新加載頁(yè),并允許彈出窗口。
- 總是允許來自此站點(diǎn)的彈出窗口。將當(dāng)前站點(diǎn)添加到“允許”列表。
- 設(shè)置。顯示更多彈出窗口阻止程序設(shè)置菜單項(xiàng),并允許訪問“彈出窗口阻止程序設(shè)置”窗口。
![]() |
---|
彈出窗口在打開時(shí),可通過按 Ctrl 允許彈出窗口打開 |
高級(jí)選項(xiàng)
Internet Explorer 通過“彈出窗口阻止程序設(shè)置”提供高級(jí)配置選項(xiàng)。要訪問這些設(shè)置,請(qǐng)打開“Internet 選項(xiàng)”,單擊“隱私”,然后在“彈出窗口阻止程序”區(qū)域單擊“設(shè)置”,以打開“彈出窗口阻止程序設(shè)置”。您可配置下列選項(xiàng):
- 允許的網(wǎng)站地址。輸入一個(gè) URL 并單擊“添加”,將站點(diǎn)添加到“允許的站點(diǎn)”列表。列表中的任何站點(diǎn)都可打開彈出窗口。
- 篩選器級(jí)別。有三種可與彈出窗口阻止程序一起使用的不同篩選器級(jí)別:
- 高: 阻止所有彈出窗口。用戶單擊鏈接時(shí),彈出窗口阻止程序的默認(rèn)行為允許站點(diǎn)打開彈出窗口。此設(shè)置通過阻止自鏈接打開的窗口更改此行為。如果啟用此設(shè)置,可通過在單擊鏈接以啟動(dòng)彈出窗口的同時(shí)按 Ctrl,允許打開彈出窗口。
- 中: 阻止大多數(shù)自動(dòng)彈出窗口。這是默認(rèn)的彈出窗口阻止程序設(shè)置。此設(shè)置會(huì)阻止大多數(shù)將網(wǎng)站加載到瀏覽器時(shí)自動(dòng)打開的彈出窗口,但不會(huì)阻止單擊鏈接時(shí)打開的彈出窗口。
- 低: 允許來自安全站點(diǎn)的彈出窗口。此設(shè)置允許安全的網(wǎng)站(那些使用 https:// 協(xié)議的網(wǎng)站)自動(dòng)啟動(dòng)彈出窗口,而不需要將它們添加到“允許的站點(diǎn)”列表。
- 配置聲音。通過“彈出窗口阻止程序設(shè)置”阻止彈出窗口時(shí),您可在彈出窗口阻止程序是否發(fā)出聲音之間切換。要這樣做,請(qǐng)打開“Internet 選項(xiàng)”,單擊“隱私”,然后在“彈出窗口阻止程序”區(qū)域單擊“設(shè)置”,以打開“彈出窗口阻止程序設(shè)置”。在“通知和篩選器級(jí)別”區(qū)域,適當(dāng)選擇或清除“彈出窗口被阻止時(shí)發(fā)出聲音”旁邊的復(fù)選框。 您也可更改發(fā)出的聲音。要這樣做,請(qǐng)單擊“開始”,再單擊“控制面板”,然后雙擊“聲音和音頻設(shè)備”圖標(biāo),以打開其屬性表。然后單擊“聲音”選項(xiàng)卡,單擊“阻止的彈出窗口”程序事件,并在“聲音”下拉列表中選擇要發(fā)出的聲音。
![]() |
---|
默認(rèn)情況下,會(huì)在 Internet 和“受限站點(diǎn)”安全區(qū)域中使用彈出窗口阻止程序??蓪棾龃翱谧柚钩绦虻淖饔糜驍U(kuò)展到包括“本地 Intranet”或“可信站點(diǎn)”安全區(qū)域,方法是:?jiǎn)螕舸藚^(qū)域,然后將“該區(qū)域的安全級(jí)別”區(qū)域中的滑塊移動(dòng)到“中”或“高”;或者單擊“自定義級(jí)別”,然后將“使用彈出窗口阻止程序”的設(shè)置更改為“啟用”。 |
彈出窗口阻止程序處于啟用狀態(tài)時(shí),何時(shí)將看到彈出窗口?
在下列情況下,仍會(huì)看到彈出窗口處于打開狀態(tài):
- 彈出窗口是通過用戶單擊鏈接打開的。
- 彈出窗口是由在計(jì)算機(jī)上運(yùn)行的軟件打開的。
- 彈出窗口是由從網(wǎng)站實(shí)例化的 ActiveX 控件打開的。
- 彈出窗口是從“可信站點(diǎn)”或“本地 Intranet”區(qū)域打開的,而您尚未將彈出窗口阻止程序的作用域擴(kuò)展到包括這些區(qū)域。
為什么說此項(xiàng)更改是重要的?
已經(jīng)在許多方面誤用了彈出窗口。通過阻止彈出窗口,可使您對(duì)瀏覽體驗(yàn)進(jìn)行更多地控制。
INewWindowManager
詳細(xì)說明
默認(rèn)情況下,彈出窗口阻止程序功能不適用于主持 WebBrowser
控件或 MSHTML 的應(yīng)用程序。這些應(yīng)用程序有能力使用或擴(kuò)展彈出窗口阻止程序,使用自己的彈出窗口阻止程序,或通過 INewWindowManager
接口禁用其應(yīng)用程序的彈出窗口管理。
Windows Server 2003 Service Pack 1 對(duì)哪種現(xiàn)有功能進(jìn)行了更改?
方法:window.open()、window.external.navigateAndFind()、showHelp()
詳細(xì)說明
如果這些功能之一通常返回一個(gè)窗口對(duì)象,則窗口被阻止時(shí)此功能將返回空值。Web 開發(fā)人員可檢查空值以確定他們嘗試打開的窗口是否已阻止。
打開時(shí)位于可視屏幕之外的窗口會(huì)放置到可視區(qū)域。
打開時(shí)大于可視屏幕的窗口會(huì)調(diào)整到可視區(qū)域。
有關(guān)詳細(xì)信息,請(qǐng)參閱本文檔后面的“Internet Explorer Window Restrictions”。
它的工作方式有何不同?
在“Internet”區(qū)域中,彈出窗口阻止程序會(huì)阻止在用戶不單擊鏈接的情況下通過這些方法自動(dòng)打開的窗口。如果客戶啟用了更嚴(yán)格的阻止設(shè)置,通過單擊鏈接由這些方法打開的窗口也可能被阻止。
我如何解決這些問題?
確保使用 window.open()
打開的所有窗口都是通過用戶交互打開,而不是通過您的代碼自動(dòng)打開。
Windows Server 2003 Service Pack 1 添加或更改了哪些設(shè)置?
彈出窗口阻止程序設(shè)置
設(shè)置名稱 | 位置 | 以前的默認(rèn)值 | 默認(rèn)值 | 可能值 |
---|---|---|---|---|
URL 名稱 |
HKEY_CURRENT_USER \Software\Microsoft \Internet Explorer\New Windows\Allow |
無 |
空 |
可信站點(diǎn)的 URL 名稱 |
我是否需要更改我的代碼以使用 WindowsServer2003 Service Pack1?
網(wǎng)頁(yè)作者應(yīng)檢查打開的所有窗口是否有空返回值。這將指明是否成功地打開彈出窗口,并允許您處理這兩種情況。
如果您的軟件自動(dòng)打開窗口,這些窗口將被阻止。根據(jù)本文檔中前面所述,查找執(zhí)行相同操作的其他方法。打開窗口的最好方法是讓客戶單擊鏈接或圖形元素。