首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在新选项卡中打开给定页面上的所有超链接

在新选项卡中打开给定页面上的所有超链接
EN

Stack Overflow用户
提问于 2015-11-04 09:49:24
回答 2查看 110关注 0票数 2

我想打开所有的链接,在一个给定的网页,在新的标签,在一次使用JavaScript。让我们以堆栈溢出问题列表为例。以下是我想出的:

代码语言:javascript
复制
$(".question-hyperlink").each(function(){

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

})

不幸的是,这根本行不通。我试过使用window.open,但仍然没有成功。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-04 09:55:09

您的代码不能工作的原因是.click()没有模拟用户的单击,它只是激发绑定到单击事件的所有事件处理程序。因此,它只运行您已经安装好的JS代码,而不是浏览器对单击的反应。

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

代码语言:javascript
复制
$(".question-hyperlink").each(function(){
    window.open($(this).attr("href"), '_blank');
});

小心弹出拦截器!如果你想处理它们,你可以这样做:

代码语言:javascript
复制
var x = window.open(...);
if(x) {
   //The window was opened.
}
else {
   //It was blocked.
}
票数 4
EN

Stack Overflow用户

发布于 2015-11-04 10:06:40

肆无忌惮的垃圾邮件发送者希望能够让访问者的浏览器同时在新窗口中打开大量链接。他们很乐意打开用户不想看到的十几个页面,然后要求点击广告收入。

不过,浏览器的用户对此并不满意,因此大多数浏览器使您无法同时打开多个窗口。

你想要的就做不成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33518565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档