Link in neuem Tab starten

Hallo,

ich habe ein kostenloses Theme (Debut) und möchte einen link auf einen neuen Tab starten, weil er zu einem externen Video auf Youtube führt.

Ist das möglich? Wenn ja, bitte wie?

Gruss Larissa

Hallo @Larissa8

wo genau möchtest du den link setzen?

Mario

Hi Mario,

auf der Startseite ist ein Bereich wo man ein Video einbetten kann (siehe Screenshot). Hilft dir das weiter?

Und noch eins, das Facebook Icon würde ich auch gerne mit Facebook als “öffnen in neuem tab” verbinden - wenn das geht :wink:

@Larissa8 möchtest du vielleicht, dass sich alle externen Links in einem neuen Fenster öffnen?

ja wäre auch voll in Ordnung.

Hi @Larissa8 ,

folgende JS-Zeile erledigt das für Dich – Du verwendest Debut, damit ist der jedenfalls kompatibel:

jQuery(document).ready(function(e){jQuery("a[href^='http']:not([href^='https://"+window.location.hostname.toLowerCase()+"'])").attr({target: "_blank"});});

Der einfachste (wenn auch nicht zwingendermaßen sauberste) Weg, den Code zu integrieren ist, wenn Du ihn am Ende der Datei assets/theme.js einfügst.

Liebe Grüße,
Mario

edit: hab das noch etwas verkürzt

Hi Mario,

hat leider nicht geklappt.

Ich habe doch alles richtig gemacht, oder?

Bitte siehe Screenshot.

Browser danach auch aktualisiert, aber trotzdem keine Änderungen.

VG Larissa

Hi @Larissa8

das sieht gut aus. jQuery ist an dieser Stelle noch nicht verfügbar … dann müssen wir’s auf vanilla JS umbauen. Statt der einen Zeile setz bitte diesen Code ein …

function targetBlank() {
  var internal = location.host.replace("www.", "");
      internal = new RegExp(internal, "i");
  var a = document.getElementsByTagName('a');
  for (var i = 0; i < a.length; i++) {
    var href = a[i].host;
    if (!internal.test(href)) {
      a[i].setAttribute('target', '_blank');
    }
  }
};
targetBlank();

(Quelle: https://gist.github.com/allybee/5871749)

Lg, Mario

Hi Mario r8r,

sorry, geht immer noch nicht. Siehe Screenshot. oder war das die falsche Stelle, denn das mit “vanilla” habe ich nicht gefunden, also habe ich wieder theme.js ausgewählt.

Hast du noch Ideen? So will ich es keinesfalls lassen, denn dann sind die Leute ja erstmal weg von der Shopseite…

VG Larissa

Hi @Larissa8

ich glaub, dass sich da ein kleiner Fehler eingeschlichen hat:

vor dem “function” in Zeile 1720 fehlt ein “}” (und Zeilenumbruch). Sollte schlussendlich so aussehen:

// …
  }
}
function ( //…

Liebe Grüße,
Mario

Vielen Dank - das war’s! :wink:

1 Like