在 Chrome 中一次打开多个链接作为新标签

新手上路,请多包涵

我试图在 Google Chrome 浏览器的新标签页中同时打开多个链接,但失败了。

问题:

  1. 被弹出窗口阻止
  2. 在用户允许弹出窗口后在新窗口而不是选项卡中打开

有了 这个,我可以在 Firefox 中一次打开多个链接:

 <!DOCTYPE html>
<html ng-app="plunker">

<head>
    <meta charset="utf-8">
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" >');</script>
    <link rel="stylesheet" href="style.css">
    <script data-require="angular.js@1.2.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular.min.js" data-semver="1.2.17"></script>
    <script src="app.js"></script>
</head>

<body ng-controller="MainCtrl">
    <button ng-click="openLinks()">Open</button>
</body>

</html>

另外,我遇到了一个找到 解决方法的 人。

我尝试使用 setInterval 尝试单独打开链接,但没有成功。

原文由 user3522725 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 567
2 个回答

你可以在原生 JavaScript 中做到这一点:

 <html>
<head>
<script type="text/javascript">
function open_win() {
    window.open("http://www.java2s.com/")
    window.open("http://www.java2s.com/")
}
</script>
</head>

<body>
<form>
<input type=button value="Open Windows" onclick="open_win()">
</form>
</body>

</html>

这是一个更特定于 Chrome 的实现(如果弹出窗口阻止程序给您带来困难):

 var linkArray = []; // your links
for (var i = 0; i < linkArray.length; i++) {
    // will open each link in the current window
    chrome.tabs.create({
        url: linkArray[i]
    });
}

这是一些文档: https ://developer.chrome.com/extensions/tabs

原文由 Andrew 发布,翻译遵循 CC BY-SA 3.0 许可协议

浏览器扩展之所以能够做到这一点,是因为 Chrome 扩展 可以访问特殊的 Chrome API ,它允许您使用:

 chrome.windows.create({tabid: n})

where createData has a tabid value greater than any current tab (and you can find the greatest current tabid using chrome.windows.getAll() ).

但是,就在您的页面(或不是 Chrome 扩展程序的任何地方)上执行此操作而言,这是不可能的,因为 是否在新选项卡中打开新窗口完全取决于用户的设置

原文由 Patrick Collins 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题