2010-08-30 69 views
0

我正在嘗試使用window.open在新窗口(選項卡)中打開一個位置。它不適用於Chrome。首先,我嘗試了window.open(url,name),但這並不奏效,但是這適用於其他任何瀏覽器。然後我用這樣的事情,window.open不工作在鉻6

var w = window.open("about:blank"); 
w.opener = null; 
w.document.location = url; 

這將打開在同一選項卡中的URL,但不是在單獨的選項卡。

+0

微小的彈出式窗口攔截器圖標跳過了我的眼睛。謝謝你們...... :) – Harsha 2010-09-01 06:10:13

回答

4

你確定你的彈出窗口沒有被阻止嗎?大多數彈出式窗口不會響應用戶事件而被阻止。我將window.open(「google.com」,「_blank」)輸入到控制檯中,並且我在url欄上獲得了被阻止的窗口

1

做這樣的

window.open(url, "_blank"); 

記住,第二個參數是類似於一個錨標記的target屬性。

+0

彼得,這是不工作:(。我沒有使用錨標記,它的閃光點擊時,該網址必須在新標籤中打開。 – Harsha 2010-08-30 14:55:20

+1

Chrome可能阻止它,然後。 – 2010-08-30 15:10:41

0

試試這個。在IE8作品,在失敗時FF彈出窗口被阻止

<html> 
<head> 
<script type="text/javascript"> 
if(typeof HTMLElement!='undefined'&&!HTMLElement.prototype.click) 
HTMLElement.prototype.click=function(){ // event by Jason Karl Davis 
var evt = this.ownerDocument.createEvent('MouseEvents'); 
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null); 
this.dispatchEvent(evt); 
} 
function loadAndClick(url,target) { 
    var lnk = document.createElement("a"); 
    lnk.href=url; 
    lnk.target=target||"_blank" 
    lnk.id="myLink" 
    lnk.onclick=function() { 
    var w = window.open(this.href,this.target); 
    return (w)?false:true; 
    } 
    document.body.appendChild(lnk); 
    document.getElementById('myLink').click(); 
// lnk.click(); 
} 
window.onload=function() { // or call getURL("javascript:loadAndClick('http://www.google.com')"); 
    loadAndClick("http://www.google.com"); 
} 
</script> 
</head> 
<body> 
</body> 
</html> 
0

創建重定向頁面(例如Redirect.aspx)。

window.open('Redirect.aspx?URL=http://www.google.com', '_blank'); 

從Redirect.aspx頁面重定向到QS指定的網址...

這工作一種享受,我使用Chrome擋住了我的新窗口。

+0

我沒有讓本地文件被彈出窗口阻止程序忽略,即在/some-file.php打開文件仍會觸發Chrome的彈出窗口阻止程序。 – 2012-06-20 01:59:13