2009-06-09 128 views
1

正常情況下,如果我想強制鏈接在發佈到我的博客時在新選項卡(或窗口)中打開,我必須使用鏈接GUI並選擇「在新窗口中打開」,或者,因爲我使用通過缺省HTML視圖,插入一個鏈接後,手動添加「目標=」部分中的標籤的:如何強制鏈接在新窗口中自動打開?

<a href="http://link.to/something.great" target="_blank">link text</a> 

是否有我可以使用自動插入所述目標屬性的插件或鉤的位置,還是我卡住手動做?

編輯:我正在尋找一種方法來修改鏈接,而我在編輯器中創建它。如果這是不可能的,那麼在保存過程中可能會遭到破解。但我不想要一個「運行時間」的前端破解,這不一定是永久性的。

+3

請不要這樣做。意想不到的新窗口最多是令人討厭的,最糟糕的是令人困惑。另請參見http://www.useit.com/alertbox/990530.html&http://diveintoaccessibility.org/day_16_not_opening_new_windows.html – Quentin 2009-06-09 15:29:00

回答

1

如果您使用jQuery 1.3 +您可以輕鬆地做到這一點。下面這行JavaScript代碼:

$("a:not([href^='http://your.website-url.here']").attr('target', '_blank'); 

只需添加這到load()事件的jQuery。

+0

這是一個好主意,但我希望能夠將目標硬編碼。所以這會起作用,但不適合我的用途。 :) – 2009-06-09 15:22:23

1

一種方法是修改你的functions.php文件。 See here for an example hook function.另一種是use jQuery.

+0

這也會起作用,但它又是一次運行時間破解,而不是「編譯時」(缺少更好的表達)。 (我不介意一個黑客,只是不是這種;) – 2009-06-09 15:24:28

-2

你可以很容易地使用JavaScript來做到這一點。你是否想要在所有外部鏈接上設置目標?還是僅僅是帖子內的人?

無論哪種方式,這裏的jQuery代碼做到這一點:

$(document).ready(function(){ 
    $("#postBody a").attr('target','_blank'); 
}); 

假設你的帖子正文是ID爲「postBody」一個div內。

相關問題