我正在寻找一种方法,只需点击一下即可在新标签页中打开几个链接。
这是我写的一些HTML代码。
<ul>
<li><a href="http://google.com">Google</a></li>
<li><a href="http://bing.com">Bing</a></li>
<li><a href="http://ebay.com">Ebay</a></li>
<li><a href="http://amazon.com">Amazon</a></li>
</ul>
<hr>
<a href="#" onclick="">Open all links above by one click!</a>
UPD:如果可能的话,如果它会搜索包含<li></li>
的页面上的所有链接,将它们推送到数组,并且点击链接打开后会很棒来自阵列的下一个4个链接。
答案 0 :(得分:3)
不要质疑你的动机(因为你会被弹出窗口拦截器阻挡),
function open4links () {
var links = ['http://...', 'http://...', 'http://...', 'http://...'];
for (var i = 0; i < links.length; i++) {
window.open(links[i], '_blank');
}
}
(the a element).onclick = open4links;
答案 1 :(得分:1)
使用window.open
:
$('a').click(function(e) {
e.preventDefault();
$('li a').each(function(){
window.open($(this).attr("href"), '_blank');
});
});
正如您在JsFiddle中所看到的,大多数浏览器都不会接受这一点,因为它被视为垃圾邮件。
答案 2 :(得分:1)
此处,这适用于我(基于更新的请求):http://jsfiddle.net/R7qFv/4/
这会跟踪哪些链接已被打开,因此每次单击该链接时,它都会打开列表中的下一个链接。
$("#openlinks").on("click", (function(){
var count = 0, nAtOnce = 4, $links = $("li a");
var openLinks = function(){
for (var i = 0; i < nAtOnce && count < $links.length; i++) {
window.open($links.eq(count++).attr("href"), '_blank');
}
};
return openLinks;
})());
我是用jQuery写的,因为它对我来说比较容易,但我相信如果需要你可以翻译。
答案 3 :(得分:0)
使用此功能查找html代码中的所有链接,并在其他窗口中打开
<script type="text/javascript">
function OpenLinks(){
var arr = [];
$("#list a").each(function(){
arr.push(jQuery(this).attr("href"));
});
for(var i =0; i < arr.length;i++){
window.open(arr[i]);
}
}
</script>
obs:使用jquery!