it-swarm-eu.dev

Jak mohu otevřít externí adresu URL na nové kartě?

Když se pokusím vložit odkaz jako <a href="http://www.example.com/" target="_blank"> na cestě odkazu se zobrazí následující chybová zpráva:

Cesta '//www.example.com/ "target =" _ blank ">' je buď neplatná, nebo k ní nemáte přístup.

Existuje způsob, jak otevřít externí adresu URL na nové kartě?

5
jone

Pokud můžete cílit svou nabídku menu pomocí jquery pomocí svého ID, můžete do souboru JS vložit něco podobného, ​​které přidáte do svého motivu prostřednictvím your_theme.info.

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

Nebo můžete použít modul atributy men .

12
tostinni

Ne pro každou položku nabídky. Projekt Externí odkazy však umožňuje otevřít všechny externí odkazy v novém okně a jako takový je označí ikonou.

3
Berdir

Problém je v tom, že zadáváte <a href="http://www.example.com/" target="_blank">, kdy Drupal očekává pouze odkaz (http://www.example.com, ve vašem případě).

Pokud zadáte http://www.example.com, Drupal by si všiml, že se jedná o externí odkaz a umožní vám to použít.
Zkusil jsem přidat odkaz na drupal.org, a jak vidíte, Drupal ho přijal (je to odkaz zobrazený jako "Drupal").

screenshot

Další informace o tom, jak otevřít odkaz na nové kartě prohlížeče, jsou vysvětleny.

1
kiamlaluno

Právě jsem dostal tuto odpověď od rady, která byla velkou pomocí, může to také fungovat pro vás:

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

v mém případě jsem odkazoval na třídu stránek, pak na „a“ a tím se odkazy na této stránce otevřely v novém okně. Budu dělat trochu více selektorového řetězení, abych mohl lépe určit konkrétní nabídku na postranním panelu.

0
user1176783

Pokud potřebujete otevřít všechny externí odkazy v novém okně, můžete přepsat téma topic_links do aktuálního tématu, pokud nepoužíváte modul menu_attributes, jak je uvedeno výše.

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

Existuje projekt s názvem „ Cíl nabídky “, který vám umožní právě to. Možná, že to pomůže těm, kteří potřebují pouze jednotlivé odkazy na menu otevřít v novém prohlížeči.

0
hobbes_VT