簡體   English   中英

取消阻止window.open彈出窗口?

[英]Unblock window.open pop-up?

由於一個非常笨重的CMS的限制,我無法使用

target="_blank"

在新窗口中打開鏈接。 所以我在想,我唯一真正的解決方案是將鏈接指向打開新窗口的中間頁面,然后將當前窗口重定向回原始頁面...如下所示:

window.open ("http://www.NewPage.com/");
window.location = "http://www.OldPage.com/";

當然,大多數瀏覽器都會阻止window.open方法...所以我有什么選擇? 當然,有一些聰明的Javascript技巧可以解決此問題。

沒有選擇。 您不能這樣做,並且有充分的理由。

當調用它的代碼正在處理諸如“ click”之類的事件時,瀏覽器將僅允許window.open()工作。 在這種情況下,瀏覽器假定頁面提供了一個可單擊的元素,並且用戶知道會有一個彈出窗口。 如果頁面只是從某些上下文(如直接的腳本代碼),或在“就緒”或“加載”事件處理程序或XMLHttpRequest回調中為新窗口調用window.open() ,則瀏覽器會認為彈出窗口可能令人討厭。

某些瀏覽器允許用戶放寬這些規則,但是您的代碼無法強制這樣做。

您可能只需要在頁面上插入一個iframe,然后將其放置在所有內容上,但是我真的不建議這樣做。

在一天結束時,瀏覽器將控制是否允許window.open ,因此我不會費心尋找解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM