javascript - 在新标签页中打开给定页面上的所有超链接

标签 javascript jquery

我想使用 JavaScript 在新标签页中一次打开给定网页上的所有链接。让我们以 Stack Overflow 问题列表为例。这是我想出的:

$(".question-hyperlink").each(function(){

 $(this).attr({
           target: "_blank",
           title: "Opens in a new window"
       });
 $(this).click();

})

不幸的是,这根本不起作用。我尝试使用 window.open 代替,但仍然没有成功。我该怎么做?

最佳答案

您的代码无法正常工作的原因是 .click()不模拟用户的点击,它只是触发绑定(bind)到点击事件的所有事件处理程序。因此它只运行您放置的 JS 代码,而不运行浏览器对点击的 react 。

您可以使用 window.open()像这样:

$(".question-hyperlink").each(function(){
    window.open($(this).attr("href"), '_blank');
});

不过请注意弹出窗口拦截器!如果你想处理它们,你可以这样做:

var x = window.open(...);
if(x) {
   //The window was opened.
}
else {
   //It was blocked.
}

关于javascript - 在新标签页中打开给定页面上的所有超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33518565/

相关文章:

javascript - 如何将返回的 Firebase 元素数组绑定(bind)到我的 AngularJS View (通过 Controller )?

javascript - 使用 RegExp 查找、复制和粘贴标签内容

jquery - 在 ASP.NET 中使用通用处理程序对 jQuery AJAX 调用进行故障排除

javascript - 如何设置音频的持续时间

javascript - 获取 Twitter Bootstrap 导航栏以加载不同的页面,而不仅仅是引用同一页面上的 div

javascript - 将事件重新发送到页面

javascript - Angular 无法将用户输入从 html 传递给 typescript

javascript - Flow 不理解 proptypes

jquery - 对齐两个表上的列,其中一个表固定在适当的位置

javascript - 过滤包含大数据的html表(超过12K行)