2013-01-05 101 views
3

我正在爲我的個人使用製作bookmarklets,其中一些應該一次打開2-3個選項卡。但目前Chrome不支持通過一次點擊打開多個標籤,阻止第二個,第三個和我試圖執行的其他的window.open通過書籤在Chrome中打開多個選項卡

我明白,這是關於安全性和避免永恆循環的問題,但我需要在一次迭代中打開窗口。我想讓Chrome確信,一切都會好起來的,並阻止這種惱人的阻止,因爲額外點擊允許每個網站上的彈出窗口,但它們的數量不受限制,這使得我的書籤小程序根本沒有那麼有用。

已經嘗試過這樣的:

setTimeout(function(){window.open(url1)}, 500); 
setTimeout(function(){window.open(url2)}, 500); 
+1

你有沒有嘗試設置一個計時器,說10毫秒,所以他們似乎是單獨打開。 – 2013-01-05 16:06:42

+0

@pure_code,終於我有超時工作,謝謝,就是這樣。 – Nakilon

回答

0

Chrome的運行在每個標籤作爲一個單獨的沙盒進程 - 當你點擊一個書籤,它只能在該選項卡內採取行動。

這使得你從第一的HTML/JS打開第二個選項卡的選項,但這將被彈出窗口攔截器被阻塞,除非它是由用戶操作提示。

+0

只打開一個新選項卡正常工作。 – Nakilon

3

他們都在同一(或接近)的時間與該代碼開放,改變延遲或嵌入一個在其他。


setTimeout(function(){ window.open(url1) }, 10); 
    setTimeout(function(){ window.open(url2) }, 20); 
    setTimeout(function(){ /* any other code with window.open() */ }, 30); 
+0

奇怪,但它再次無效:http://pastebin.com/raw.php?i=k7hR2Yy8 – Nakilon

相關問題