我想打开所有的链接,在一个给定的网页,在新的标签,在一次使用JavaScript。让我们以堆栈溢出问题列表为例。以下是我想出的:
$(".question-hyperlink").each(function(){
$(this).attr({
target: "_blank",
title: "Opens in a new window"
});
$(this).click();
})不幸的是,这根本行不通。我试过使用window.open,但仍然没有成功。我该怎么做呢?
发布于 2015-11-04 09:55:09
您的代码不能工作的原因是.click()没有模拟用户的单击,它只是激发绑定到单击事件的所有事件处理程序。因此,它只运行您已经安装好的JS代码,而不是浏览器对单击的反应。
您可以这样使用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.
}发布于 2015-11-04 10:06:40
肆无忌惮的垃圾邮件发送者希望能够让访问者的浏览器同时在新窗口中打开大量链接。他们很乐意打开用户不想看到的十几个页面,然后要求点击广告收入。
不过,浏览器的用户对此并不满意,因此大多数浏览器使您无法同时打开多个窗口。
你想要的就做不成。
https://stackoverflow.com/questions/33518565
复制相似问题