如何让Chrome在新标签页中打开多个网站

3

我正在开发一个工具,可以通过快捷方式一次打开多个页面,用于打开每日网站或查询多个搜索引擎的短语等。在Firefox、Internet Explorer和Opera中,假设您已经为该域名解除了弹出窗口拦截,代码按预期工作。

然而,在Chrome中,如果链接在页面加载时自动打开,则会在新窗口中打开网站,而不是在标签页中打开。如果注释掉openAll()并单击按钮或按键,则页面会在标签页中打开。请注意,它调用的是完全相同的函数。

我找到的最好的解决方案(这并不意味着很好)是使用One Window扩展程序。它可以工作,但你可以看到新窗口打开然后被吸回去,并且它阻止你使用Ctrl-N打开新窗口,强制你拖动标签页以使用另一个Chrome窗口。

我可以理解没有编程方式来更改这个问题,因为它是浏览器设置,但作为工具的用户,所有的网站都在新窗口中打开是很烦人的。是否有Chrome设置或扩展程序,可以在加载链接时自动将它们打开在标签页中?我意识到打开一堆窗口是浏览器要防止的事情,但这是我想允许的一次。

<input id="openAllBtn" type="button" value="Open all links"> (Or press any key)
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
function openAll() {
    window.open('http://yahoo.com/');
    window.location.replace('http://www.bing.com/');
    return false;
}
$(document).ready(function() {
    $(document).bind('keypress', openAll);
    $("#openAllBtn").bind("click", openAll);
    openAll();
});
</script>

这是代码的Fiddle链接:http://jsfiddle.net/sfzjR/

你使用的是哪个版本的Chrome?你提供的JSFiddle在我的Chrome中打开了2个标签页。 - matzahboy
让我再试一次。这是我会做的事情,以实现您要寻找的一般行为: //为要打开的每个链接创建简单的target='_blank'链接。 //通过jQuery按公共类收集所有元素。 //在一定延迟后连续触发每个元素的点击事件。 //允许用户随时通过再次单击按钮停止打开链接,可能是通过终止setTimeout函数来完成的。 //这样做的好处是当用户单击并打开70个链接时不会崩溃或DOS浏览器。 - Kzqai
@matzahboy 我正在使用Chrome 13.0.782.32 beta-m,并已经测试了最新的Chromium dev版本。这个fiddle中调用openAll()的部分被注释掉了。尝试取消注释然后运行它。 - Dan H
@Tchalvak 我可以这样做,但问题仍然存在 - 链接将作为新窗口打开。 - Dan H
1个回答

0
有没有Chrome设置或扩展程序可以在加载链接时自动打开标签页,而无需用户输入?
请查看 Chrome扩展文档中的create方法。默认情况下,它将打开一个新标签页,您可以选择指定要在其中打开该标签页的窗口,并为该标签页提供URL。

谢谢提供链接。我本来希望不用创建扩展程序就能解决这个问题,但看起来这可能是最好的选择。 - Dan H

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