2013-09-25 41 views
-2

我正在尋找一種方法,如何通過一次點擊打開新標籤頁中的幾個鏈接。如何查找頁面上的鏈接,將它們推送到數組,並通過每次單擊打開數組中的5個鏈接?

這是我寫的一些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個環節。

jsFiddle example

+2

聽起來很垃圾。爲什麼會有人想要這樣? –

+0

@Diodeus家庭網站也許可以但瀏覽器已經有這個功能在.. –

回答

1

在這裏,這對我的作品(基於更新的要求):http://jsfiddle.net/R7qFv/4/

此跟蹤哪些鏈接已經被打開,所以每次你點擊鏈接時,它會打開列表中的下一個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

沒有質疑你的動機(因爲你會被彈出窗口攔截器被阻塞),

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

使用window.open

$('a').click(function(e) { 
    e.preventDefault(); 
    $('li a').each(function(){ 
     window.open($(this).attr("href"), '_blank'); 
    }); 
}); 

正如你可以在JsFiddle看到,大多數瀏覽器都不會接受這個,因爲它被認爲是垃圾郵件。

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!

相關問題