js window.open有时不能用于chrome

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js window.open有时不能用于chrome相关的知识,希望对你有一定的参考价值。

我有一个js文件,其中包含以下代码:

function submitForm() {

//......

window.open('/projectA/spring_controller1',"_blank");

window.location = '/projectA/spring_controller2';
}

在大多数情况下(约99%),window.open工作。

但有时(约1%),没有新的标签在chrome 73中打开(在这种情况下,我确定函数submitForm已被调用,因为window.location工作,只有window.open失败。)。

在chrome中,当我第一次执行此函数时,window.open无法打开新选项卡,而window.location将当前选项卡重定向到新页面成功。当我第二次运行此功能时,window.open仍无效。但是,它可以在后续执行时打开一个新选项卡。

在我升级chrome之后,window.open无法在第一时间打开新选项卡和window.location,但是他们可以执行以下命令。

似乎当最初在chrome中调用此函数时(在当前版本初始调用或升级到新版本),window.open无法打开新选项卡,而之后它可以。

答案

请检查是否有任何弹出窗口或广告拦截器插件导致此问题,否则您的代码在遇到window.open代码行之前会遇到一些错误。如果是chrome,请按F12并转到调试器选项,也许能够看到在代码命中window.open代码行之前发生的任何错误。

希望能帮助到你。:-)

以上是关于js window.open有时不能用于chrome的主要内容,如果未能解决你的问题,请参考以下文章

Safari浏览器中的JS window.open方法

JS打开新窗口(window.open() href)

JS打开新窗口(window.open() href)

JS打开新窗口(window.open() href)

JS打开新窗口(window.open() href)

JS打开新窗口(window.open() href)