window.open无法使用chrome 6

时间:2010-08-30 14:26:39

标签: javascript google-chrome

我正在尝试使用window.open在新窗口(选项卡)中打开一个位置。它不适用于chrome。首先我尝试使用window.open(url,name),这不起作用,但这适用于所有其他浏览器。然后我用了这样的东西,

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

这会在同一个标​​签页中打开网址,但不会在单独的标签页中打开。

4 个答案:

答案 0 :(得分:4)

你确定你的弹出窗口没有被阻止吗?大多数未响应用户事件而发生的弹出窗口将被阻止。我将window.open(“google.com”,“_ blank”)键入控制台,我在网址栏上显示了被阻止的窗口

答案 1 :(得分:1)

这样做

window.open( url, "_blank" );

请记住,第二个参数类似于锚标记的target属性。

答案 2 :(得分: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>

答案 3 :(得分:0)

创建重定向页面(例如Redirect.aspx)。

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

从Redirect.aspx页面,重定向到QS中指定的URL ...

这对我来说很有用,Chrome阻止我的新窗口。