Automatische Erkennung von externen Links
Eingetragen von carstenhager (22)
am 02.05.2014 - 09:32 Uhr in
am 02.05.2014 - 09:32 Uhr in
Hallo,
ich arbeite mich gerade in Drupal ein und suche ne Möglichkeit, dass externe Links von Drupal automisch erkannt werden und dementsprechend mit (target="_blank") versehen werden.
Hat jemand sowas schonmal gesehen?
Gruß Carsten
- Anmelden oder Registrieren um Kommentare zu schreiben
Google hilft...
am 02.05.2014 - 11:08 Uhr
Google hilft... https://drupal.org/project/extlink
Bei dem Modul wäre ich
am 03.05.2014 - 12:25 Uhr
Bei dem Modul wäre ich vorsichtig. Es parst das komplette Dom-Markup deiner Seite. Das kann dazu führen, dass das Rendering der Seite im Browser deutlich langsamer wird. Auch kann es betreffend Links zu hässlichen Workarounds bei HTML und CSS führen.
Nachhaltiger ist es da, einen Input Filter zu schreiben, welchen du auf bestimmte Entities eingrenzt und serverseitig deine Inhalte aufbereitest.
Dafür gibt es viele Beispiele und Beschreibungen. Bei einer ersten Suche nach "Drupal input filter" kam ich darauf: http://definitivedrupal.org/suggestions/how-make-custom-input-filter
- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn
Hallo, da brauchst du kein
am 03.05.2014 - 13:32 Uhr
Hallo,
da brauchst du kein Modul oder Textfilter, das kannst du einfach mit JQuery machen:
$( 'a[href^="http://"]' ).attr( 'target','_blank' )
mehr dazu hier:
http://www.stylinwithcss.com/blog/post.php?s=2013-02-11-make-external-li...
Gruß
Christian
Don't code today what you can't debug tomorrow
Ariya Hidayat
Das man das nicht "braucht"
am 03.05.2014 - 21:59 Uhr
Das man das nicht "braucht" ist klar. Drupal "braucht" ja auch keiner. Aber Textfilter und Entities haben schon ihren Sinn. Deshalb sind sie im Core. Mal eben kann man das so lösen. Aber wenn man so vorgeht, haben die Websites keine lange Lebensdauer oder sind gar Objekt orientiert.
- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn
Zitat: Aber wenn man so
am 04.05.2014 - 12:57 Uhr
Aber wenn man so vorgeht, haben die Websites keine lange Lebensdauer oder sind gar Objekt orientiert.
Was hat der Einsatz von JQuery mit der Lebensdauer einer Websitezu tun und was meist Du mit "gar Objekt orientiert"?
Gruß
Christian
Don't code today what you can't debug tomorrow
Ariya Hidayat
Halte ich auch für eine etwas
am 05.05.2014 - 07:02 Uhr
Halte ich auch für eine etwas krude Theorie, jepster... jede halbwegs sauber geschriebene Webseite dieser Welt nutzt JavaScript/ jQuery für solche Sache, weil target=_blank schlicht schlechtes HTML ist. Das Modul "extlink" ist halt eine anwenderfreundliche Lösung, mit ein paar Einstellungsmöglichkeiten. Wer JavaScript einbauen kann, sollte die oben genannte Lösung einbauen. Alles andere ist in meinen Augen Unfug - per Filter in der Ausgabe ein target=_blank einzubauen, halte ich jedenfalls gerade für den falschen Weg (weil nicht standard-konformes HTML). Was das mit der Lebensdauer der Webseite zu tun haben soll, ist mir schleierhaft...
gelöst!
am 05.05.2014 - 11:41 Uhr
Hallo,
vielen dank für die zahlreichen Kommentare.
Ich habe es dann so gelöst
$(document).ready(function() {
$('a[href^="http"]').not('[href*="www.test.de"]').attr('target','_blank')
});