2011-05-12 120 views
0

我使用下面的代碼:設置top.location並打開新標籤頁?

$('a[href*="somelinktext"]').click(function(e) { 
     e.preventDefault(); 
     top.location = "http://www.example.com"; 
    }); 

是否可以打開一個新窗口/標籤與此鏈接點擊?

回答

2

使用window.open而不是top.location

+0

是的,但請注意,在IE和Safari瀏覽器中,鏈接寧願在新窗口中打開。只要選項卡首選項設置爲創建新選項卡而不是Windows,所有其他瀏覽器都將工作。 – Raybiez 2011-05-12 06:34:20

3

要打開一個新標籤頁/窗口(取決於用戶的瀏覽器設置),只需添加target屬性即可。要更改當前選項卡的頂級框架的位置,您確實需要一個onclick處理程序。

$('a[href*="somelinktext"]').each(function() { 
    $(this).attr('target', '_blank') 
}).click(function(e) { 
    top.location = 'http://www.example.com'; 
}); 

但是,如果你想打開一個新的標籤,只是留在target ATTR:

$('a[href*="somelinktext"]').each(function() { 
    $(this).attr('target', '_blank') 
}); 

你也可以將它設置在HTML代碼本身,但:

<a href="..." target="_blank">blah</a> 

(它也支持頂級框架_top

+0

呃..我也會說'target =「_ blank」',但我記得HTML5規格說它已被棄用。在重新閱讀說明書後,我發現它不再被棄用,因爲「a和area元素的目標屬性不再被棄用,因爲它在Web應用程序中很有用」。 +1 – 2011-05-12 06:38:51

+1

我仍然不會使用它。如果他們可以決定的話,那麼它就更加友好,現在大多數人(除了一些祕書等以外)知道如何使用鼠標中鍵。 – ThiefMaster 2011-05-12 08:05:51

0

我認爲你可以使用window.open函數。

謝謝

相關問題