Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 新窗口不显示';无法在Chrome中以选项卡的形式打开_Javascript_Google Chrome_Tabs - Fatal编程技术网

Javascript 新窗口不显示';无法在Chrome中以选项卡的形式打开

Javascript 新窗口不显示';无法在Chrome中以选项卡的形式打开,javascript,google-chrome,tabs,Javascript,Google Chrome,Tabs,我正在为Chrome制作一些的东西 我想用窗口打开几个选项卡。打开 (哪些Chrome会阻止,但我可以接受启用它)。 但是Chrome将它们作为新窗口而不是选项卡打开 由于一些不清楚的原因,我只找到了关于 我怎样才能做到这一点 如果是这样,我如何调用编程选项卡开口而不被Chrome阻止 编辑: 我看到一些帖子说这是不可能的,这是一种浏览器偏好。 首先,我不知道如何设置偏好! 第二,我看到有人声称他们这样做了,那么该相信谁呢 编辑2: 我发现Chrome会打开新窗口而不是打开选项卡,因为它是一个J

我正在为Chrome制作一些的东西

我想用
窗口打开几个选项卡。打开

(哪些Chrome会阻止,但我可以接受启用它)。
但是Chrome将它们作为新窗口而不是选项卡打开

由于一些不清楚的原因,我只找到了关于 我怎样才能做到这一点

如果是这样,我如何调用编程选项卡开口而不被Chrome阻止

编辑: 我看到一些帖子说这是不可能的,这是一种浏览器偏好。 首先,我不知道如何设置偏好! 第二,我看到有人声称他们这样做了,那么该相信谁呢

编辑2: 我发现Chrome会打开新窗口而不是打开选项卡,因为它是一个JavaScript窗口打开,而不是用户点击。 有人知道我怎么能假装点击吗?
因为如果您的弹出窗口是由直接用户操作(未被弹出窗口阻止程序阻止)创建的,并且使用默认选项将在新选项卡中打开,则调用单击事件仍然视为非用户单击。如果以编程方式创建,它将作为新窗口打开。没有办法改变这种行为

尽管这是一个非常糟糕的攻击,但您可以做的是在用户操作上创建弹出窗口,然后稍后使用对弹出窗口的引用将位置设置为最终目的地,如下所示:

<a href="javascript:;" id="testAnchor" />
Chrome附加“一个窗口”:


自动将新窗口和弹出窗口作为选项卡移动到主窗口。因此,打开的窗口永远不会超过一个。

新窗口的打开方式取决于客户端的设置。那些说他们强迫它的人是在撒谎:)你能告诉我在chrome的哪个地方我可以选择它吗?也许它能帮助你实现DanH所建议的,它会起作用的。尝试提供一个代码示例,这样人们就可以更好地了解您可能会出错的地方!我错的地方是,它不是用户点击它的自动窗口打开加载。我能绕过它吗?调用点击事件仍然不算作用户点击……有人能指出chrome设置中的位置吗?我可以选择这个otion?@eric.itzhak我错认为chrome有一个设置。要么这个设置在某个时候从Chrome中删除,要么根本就不是一个选项。无论如何,Chrome将始终在新选项卡中打开新窗口,除非您为您的窗口指定自定义设置。但我没有指定,它将作为新窗口打开window@eric.itzhak我最初的测试使用的弹出窗口没有被浏览器的弹出窗口拦截器阻止。我已经更新了我的答案,以便更具体地说明如何打开弹出窗口才能在新选项卡中创建。不幸的是,没有办法完全做到你想要的。是的,这是一个非常糟糕的黑客行为,所以我会稍微改变一下我的计划。但是非常感谢您,先生!那个扩展链接对我不起作用。我找到了另一个强制windows以选项卡形式打开的扩展:。这应该对我的iMacro有帮助。
var popup1 = null;

document.getElementById('testAnchor').onclick = function() {
    popup1 = window.open('about:blank', 'popup1');
}

  setTimeout(function() {
       popup1.location = 'LOCATION_ON_THE_SAME_ORIGIN_AS_THE_OPENER';

  }, 5000);