看板 Ajax 關於我們 聯絡資訊
在寫偵測瀏覽器可不可用彈出視窗的時候,發現一個奇怪的現象,發生在 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
drcula:Chrome的禁止彈出式視窗是假的,只是看不到,實際上有讀進來 10/09 13:00
drcula:上26網站就有發現,明明已經禁止了,也沒視窗彈出,但是背景 10/09 13:00
drcula:音樂就開始放............,其他瀏覽器沒遇到這種情況 10/09 13:01
KC73:嘖!Google 那麼討厭彈出視窗,結果用這種方式處理彈出視窗.. 10/10 03:37
drcula:另外其實你的那行alert('opened!')不是沒有執行,只是跑了 10/10 09:30
drcula:被擋住你看不到就是,所以我才不用Chrome還是用回FF 10/10 09:30
KC73:轉錄至看板 Browsers 10/10 15:31
shyangs:很奇怪的特性 10/10 15:52