2009-06-09 18 views
1

Normalerweise, wenn ich einen Link in einem neuen Tab (oder Fenster) öffnen möchte, wenn ich in meinem Blog poste, muss ich entweder die Link - GUI benutzen und "in neuem Fenster öffnen" wählen, oder, da ich den HTML-Ansicht standardmäßig nach einen Link einfügen, fügen Sie manuell die „target =“ Teil des Tags:Wie kann ich erzwingen, dass Links automatisch in einem neuen Fenster geöffnet werden?

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

gibt es ein Plugin oder Haken Lage I das Ziel automatisch einzufügen Attribut verwenden können, oder bin ich stecken es manuell machen?

EDIT: Ich suche speziell nach einer Möglichkeit, den Link zu ändern, während ich es im Editor erstellen. Wenn das nicht möglich ist, dann vielleicht einen Hack auf den Speichervorgang. Aber ich möchte keinen "Run-Time" Front-End-Hack, der nicht unbedingt permanent ist.

+3

Bitte tu das nicht. Unerwartete neue Fenster sind bestenfalls nervig und im schlimmsten verwirrend. Siehe auch http://www.useit.com/alertbox/990530.html & http://diveintoaccessibility.org/day_16_not_opening_new_windows.html – Quentin

Antwort

1

Wenn Sie jQuery verwenden 1.3+ Sie einfach diese mit der folgenden Zeile JavaScript tun können:

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

Fügen Sie einfach dies dem load() Ereignis von jQuery.

+0

Das ist eine gute Idee, aber ich möchte in der Lage sein, das Ziel hart zu codieren. Das würde funktionieren, aber nicht für meine Zwecke. :) –

1

Ein Ansatz besteht darin, Ihre functions.php-Datei zu ändern. See here for an example hook function. Eine andere ist use jQuery.

+0

Das würde auch funktionieren, aber wieder ist es ein Laufzeit-Hack, kein "Kompilierzeit" (aus Mangel an einem besseren Ausdruck) Hack. (Ich habe nichts gegen einen Hack, nur nicht diese Art.;) –

-2

Sie könnten es mit JavaScript ziemlich einfach tun. Möchten Sie das Ziel für alle externen Links festlegen? Oder nur die innerhalb des Postkörpers?

So oder so, hier ist der Code jQuery, es zu tun:

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

Angenommen, Ihr Post Körper in einem div mit der ID "postBody" ist.

Verwandte Themen