我正在尝试使用window.open在新窗口(选项卡)中打开一个位置。它不适用于chrome。首先我尝试使用window.open(url,name),这不起作用,但这适用于所有其他浏览器。然后我用了这样的东西,
var w = window.open("about:blank");
w.opener = null;
w.document.location = url;
这会在同一个标签页中打开网址,但不会在单独的标签页中打开。
答案 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阻止我的新窗口。