window.open在Chrome中打开新标签页而非新窗口

5
我有一段代码,以前在所有浏览器中都可以打开弹出窗口,但现在Chrome却会打开一个新的标签页。
有人知道他们做了什么改变,现在该如何打开弹出窗口吗?
这是我的代码:
function openWindow(url, title) {
  window.open(url, title, 'height=640,width=960,toolbar=no,menubar=no,scrollbars=no,location=no,status=no');
}

1
尝试使用字符串“_blank”替换变量标题。 - valepu
看起来很有前途,但它没有起作用。我很确定这只是我的浏览器,但我不知道为什么... - Guy Sopher
让我们从基础(和无关的)事情开始吧,你尝试过清除缓存吗? - valepu
是的,已经做过了...也重新启动并尝试了其他Chrome用户(但在同一台计算机上)。 - Guy Sopher
在开发过程中,我遇到了同样的问题。关闭了“开发者工具”,再试一次,现在它按预期打开了一个新窗口。真是让人费解... - isapir
显示剩余3条评论
4个回答

2

请您尝试一下这段代码好吗?

function openWindow(url, title) {
    var myWindow = window.open(url, title, "height=640,width=960,toolbar=no,menubar=no,scrollbars=no,location=no,status=no");
}

示例程序:https://jsfiddle.net/C0dekid/go96uk5r/5/


这是在Chrome上停止工作的确切示例(包括示例)。 - Guy Sopher
你正在使用的 Google Chrome 版本是多少? - node_modules
49.0.2623.87 - 最新版本 - Guy Sopher
这很奇怪,我已经在以下浏览器上进行了测试:Google Chrome(最新版本),Mozilla Firefox,Internet Explorer,Microsoft Edge。它们都会打开弹出窗口而不是在新标签页中打开。 - node_modules

2
我认为问题在第二个参数。请查看此链接name - 窗口的名称(注意:名称不指定新窗口的标题)

你能否添加你发送给函数的参数? - Zamboney
我正在做类似于这样的事情:<button onclick="openWindow('http://www.google.com', 'test123456')">点击</button> - Guy Sopher

1
这对我有用:

这是在为我工作:

window.open('https://www.google.com', 'MyWindow1', "height=640,width=960,toolbar=no,menubar=no,scrollbars=no,location=no,status=no");

你的 Chrome 版本是多少?

我的版本是 49.0.2623.87 m


我使用的是49.0.2623.87版本(和你一样),但我的链接会在新标签页中打开。也许是我的浏览器设置有问题? - Guy Sopher
你确定了吗?你试过我的代码吗?你使用的操作系统是什么? - Quentin Morrier
是的,完全相同的代码。我正在OSX(优胜美地)上运行Chrome。 - Guy Sopher
好的,我使用的是Windows 7,也许这就是问题所在...另外,我想到的另一件事是,用第三个点击(鼠标滚轮点击)总是在新标签页中打开。也许这与鼠标配置有关? - Quentin Morrier
不,我甚至没有第三个按钮(愚蠢的Mac...)。我看到其他机器表现正常,我不确定我的机器有什么不同。 - Guy Sopher
1
最近,toolbar=yes参数导致Chrome在新标签页中打开这些内容,而不是在窗口中打开(对于我和我的同事来说,我的版本是59.0.3071.115)。我删除了toolbar=yes,它又回到了预期的在新窗口中打开。 - Michael K

0

一般 / 同时...

当您将无效的逗号分隔的 "设置 字符串" 作为第三个参数(即 window.open(url, window_title, settings))传递时,似乎会发生这种情况。

因此,请检查拼写,查找错误,并确保您没有在该字符串中指定(传入)不正确/不兼容的选项。

当发生这种情况时,window.open() 调用将忽略整个在新窗口中打开的概念,只是在新/下一个标签页中尽可能地打开指定的 URL。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接