it-swarm.com.de

Wie mache ich eine externe URL auf einem neuen Tab geöffnet?

Wenn ich versuche, einen Link wie <a href="http://www.example.com/" target="_blank"> Auf dem Linkpfad wird folgende Fehlermeldung angezeigt:

Der Pfad '//www.example.com/ "target =" _ blank ">' ist entweder ungültig oder Sie haben keinen Zugriff darauf.

Gibt es eine Möglichkeit, die externe URL in einem neuen Tab zu öffnen?

5
jone

Wenn Sie Ihr Menü-Tag mit jquery anhand seiner ID als Ziel festlegen können, können Sie so etwas in eine JS-Datei einfügen, die Sie über your_theme.info in Ihr Design einfügen

Drupal.behaviors.externalMenu = function(context, settings) {
    $('#menu_id').attr('target', '_blank');
};

Oder Sie können das Modul Menüattribute verwenden.

12
tostinni

Nicht pro Menüpunkt. Mit dem Projekt Externe Links können jedoch alle externen Links in einem neuen Fenster geöffnet und als solche mit einem Symbol gekennzeichnet werden.

3
Berdir

Das Problem ist, dass Sie <a href="http://www.example.com/" target="_blank">, wenn Drupal erwartet nur den Link (http://www.example.com, in Ihrem Fall).

Wenn Sie http://www.example.com, Drupal würde bemerken, dass es sich um einen externen Link handelt, und Sie können ihn verwenden.
Ich habe versucht, einen Link zu drupal.org hinzuzufügen, und wie Sie sehen können, Drupal hat ihn akzeptiert (es ist der Link, der als "Drupal" angezeigt wird).

screenshot

In den anderen Antworten wird bereits erläutert, wie Sie den Link in einem neuen Browser-Tab öffnen.

1
kiamlaluno

Ich habe gerade diese Antwort vom Board erhalten, die eine große Hilfe war. Dies könnte auch für Sie funktionieren:

(function($){
  $(document).ready(function(){
    $('.page-node-166 a').attr('target', '_blank');
  });
})(jQuery);

in meinem Fall habe ich auf die Seitenklasse und dann auf das 'a' verwiesen, wodurch die Links auf dieser Seite in einem neuen Fenster geöffnet wurden. Ich werde etwas mehr Auswahlverkettungen durchführen, um das spezifische Menü in der Seitenleiste besser bestimmen zu können.

0
user1176783

Wenn Sie alle externen Links in einem neuen Fenster öffnen müssen, können Sie Themenlinks in Ihrem aktuellen Thema neu schreiben, wenn Sie nicht das oben angegebene Menüattributmodul verwenden.

function yourtheme_name_link($variables) {
  // Add target blank to all external links.
  if (url_is_external($variables['path'])) {
    $variables['options']['attributes']['target'] = '_blank';
  }
  return '<a href="' . check_plain(url($variables['path'], $variables['options'])) . '"' . drupal_attributes($variables['options']['attributes']) . '>' . ($variables['options']['html'] ? $variables['text'] : check_plain($variables['text'])) . '</a>';
}
0
Bogdan Tur

Es gibt ein Projekt namens " Menu Target ", mit dem Sie genau das tun können. Vielleicht hilft das denen, die nur einzelne Menü-Links benötigen, um in einem neuen Browser zu öffnen.

0
hobbes_VT