2012-09-03 99 views
3

Javascript window.open()函數打開鏈接沒有彈出窗口攔截器,我想打開一些鏈接從javascript window.open()函數,但它被阻止在Firefox,鉻,Safari瀏覽器。Javascript window.open()函數打開鏈接,沒有彈出窗口攔截器

我如何通過JavaScript代碼解鎖彈出,使其在新標籤中打開

我的代碼是:

function GoUrl(id) { 
     var string = 'select#' + id + ' option:selected'; 
     var value = $(string).val(); 
     if (value != "links") {enter code here 
      window.open(value, '_blank'); 
      window.focus(); 
     } 
+0

你什麼時候調用這個函數?您不能以編程方式打開新窗口,調用必須源自用戶輸入(例如點擊) – Bergi

回答

2

你應該啓動你的用戶事件功能。即:onclick或href:

<a href="javascript:window.open('http://google.com');return false;"> open 2 </a> 
2

你不能強制它打開一個新標籤。該功能完全由瀏覽器控制。

爲避免您的窗口被阻塞,請在任何用戶事件(如onclick)上打開該窗口。

4

剛剛發現從不同的線程的答案,以爲我分享了一個與你們,繞過彈出窗口攔截器的ONLY方式是通過的onclick事件,我在的是,我有問題onmousedown取而代之,我只是簡單地改變它onclick,並繁榮!立即工作!

+2

這是這裏唯一正確的答案。 「任何」用戶事件將不起作用,否則垃圾郵件發送者將使用onmousemove來顯示彈出窗口。說到「onmousedown」 - 我(可能我並不是一個人)真的很討厭將點擊事件附加到onmousedown的網站,因爲我清楚地看到,即使在我鬆開​​鼠標按鈕之前,反應也會發生,並且會略微有些惱火。如果由於某種原因onclick不會爲你工作,那麼onmouseup是一個更好的事件。只是檢查例如鏈接如何工作:他們都工作,當你釋放按鈕,而不僅僅是按... –

+0

順便說一句,onkeypress事件也應該工作。 –

相關問題