簡體   English   中英

為什么Chrome在控制台中執行而不是在代碼文件本身中執行時,chrome允許window.open()工作?

[英]Why does chrome allow window.open() to work when executed in the console but not in the code file itself?

我有一個網頁,已設置其阻止彈出窗口顯示:

在此處輸入圖片說明

如果我在頁面加載時執行以下代碼,瀏覽器將阻止打開選項卡:

window.open("http://www.google.com","test",'scrollbars=yes, width=' + 100 + ', height=' + 100 + ', top=' + 100 + ', left=' + 100)

但是,如果我鍵入完全相同的代碼並通過調試器控制台執行,則盡管彈出窗口被阻止,但仍可以正常工作。

同樣,如果我設置了綁定了單擊事件的<a/>標記,它將執行相同的代碼,那么該標記也將起作用。

為什么這里有差異?

瀏覽器跟蹤瀏覽器事件線程的當前調度是由直接的用戶操作(例如在控制台上輸入命令或單擊鏈接)啟動的。 僅當已采取方向操作時,才能打開窗口或選項卡。

我最近注意到,Firefox響應用戶的操作允許打開多個窗口,Chrome將其限制為一個窗口。

暫無
暫無

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

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