[問題] 偵測 Chrome 是否允許彈出式視窗

看板Ajax作者 (肯先生)時間15年前 (2010/10/07 08:48), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/1
在寫偵測瀏覽器可不可用彈出視窗的時候,發現一個奇怪的現象,發生在 Chrome 6.0.472.63 上面。 <div id='tt'>test</div> <script type='text/javascript'> setTimeout((function(){window.open("ttt.html");}),2000); </script> 直接點這個連結就是這內容 http://boom.site90.com/tt.html 就是兩秒後會開一個新視窗,不過當然會被封鎖,因為 Chrome 預設不允許彈出式視窗 的。 不過尷尬的是,過了兩秒以後,新視窗雖然沒有彈出來,但是原先的「test」四個字母, 變成「window opened!」。 「window opened!」哪來的?是不被允許的彈出視窗 ttt.html 的內容: <script type='text/javascript'> opener.document.getElementById('tt').innerHTML = 'window opened!'; alert('opened!'); </script> 然後那個 alert 沒有執行,但是它的上一行顯然有執行。 各位的 Chrome 也是這樣的狀況嗎? 在 Firefox、IE、Opera 底下,沒有這樣的狀況。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.128.135

10/09 13:00, , 1F
Chrome的禁止彈出式視窗是假的,只是看不到,實際上有讀進來
10/09 13:00, 1F

10/09 13:00, , 2F
上26網站就有發現,明明已經禁止了,也沒視窗彈出,但是背景
10/09 13:00, 2F

10/09 13:01, , 3F
音樂就開始放............,其他瀏覽器沒遇到這種情況
10/09 13:01, 3F

10/10 03:37, , 4F
嘖!Google 那麼討厭彈出視窗,結果用這種方式處理彈出視窗..
10/10 03:37, 4F

10/10 09:30, , 5F
另外其實你的那行alert('opened!')不是沒有執行,只是跑了
10/10 09:30, 5F

10/10 09:30, , 6F
被擋住你看不到就是,所以我才不用Chrome還是用回FF
10/10 09:30, 6F
KC73:轉錄至看板 Browsers 10/10 15:31

10/10 15:52, , 7F
很奇怪的特性
10/10 15:52, 7F
文章代碼(AID): #1ChHZa01 (Ajax)
文章代碼(AID): #1ChHZa01 (Ajax)