if-Bedingung in einem a href zur Bestimmung des korrekten Linkzieles

weth1015

Grünschnabel
Hallo zusammen,

ich bin neu hier und meine Kenntnisse in javascript sind nicht sonderlich gut, deshalb möchte ich euch gerne um Hilfe bitten, dass ihr mir ein paar Hinweise und Tipps gebt, damit ich mein Problem lösen kann.

Mein Anliegen ist folgendes:

Ich hätte gerne ein kleines Script, das den Link in einem a href in Abhängigkeit von der Adresse der Website zu einem anderen Ziel führt. Die Situation ist nämlich so, dass ich mit einem CMS arbeite und ein und derselbe Content für verschiedene englischsprachige Länder verwendet wird, da alle diese Seiten mit Ausnahme von den Verlinkungen deckungsgleich sind.

Bisher habe ich mir folgendes überlegt:

Javascript:
<script type="text/javascript">
var URL1 = window.location.pathname; //zunächst soll der Pfad der aktuellen Website ausgelesen werden
var NAPATH = 'en-na/inhalt.html'; //dies ist der Pfad mit dem URL1 verglichen werden soll
var EMEA = 'http://externe-seite/en-eu.com'; //URL die beim else-Teil aufgerufen werden soll
var NA = 'http://externe-seite/en-na.com'; //URL die bei if==true aufgerufen werden soll
function localLink ('locLink'){ //Funktion die später im html aufgerufen werden soll
   var locLink; //Variable mit letztlich zu verwendender URL
   if (URL1==NAPATH){return locLink = NA;} //if-Bedingung zur Prüfung welche URL die richtige ist
   else {return locLink = EMEA;} //else-Teil wenn keine Übereinstimmung gefunden wird
}
</script>
HTML:
<a href="javascript:localLink('locLink');">externer Link</a> //Aufruf der Funktion in html

Leider war dieser Versuch nicht von Erfolg gekrönt. Deshalb bitte ich nun euch um Hilfe, damit ich eine Lösung für dieses Problem finden kann.

Vielen Dank für eure Hilfe.
 
Hi,

vielleicht wäre es einfacher, das passende Verweisziel bereits beim Laden der Seite auf das href-Attribut des Links zu schreiben:
HTML:
<a href="" id="link-extern">asdf</a>
<script>
window.addEventListener("load", function() {
    var link = document.getElementById('link-extern'),
        URL1 = window.location.pathname, //zunächst soll der Pfad der aktuellen Website ausgelesen werden
        NAPATH = 'en-na/inhalt.html', //dies ist der Pfad mit dem URL1 verglichen werden soll
        EMEA = 'http://externe-seite/en-eu.com', //URL die beim else-Teil aufgerufen werden soll
        NA = 'http://externe-seite/en-na.com'; //URL die bei if==true aufgerufen werden soll

    link.href = (new RegExp("en-na/inhalt.html")).test(location.href) ? NA : EMEA;
}, false);
</script>
Vielleicht hilft dir das weiter.

Ciao
Quaese
 
Hi Quaese,

vielen vielen Dank für die schnelle Antwort. Es funktioniert perfekt.
Da wäre ich von selbst nie drauf gekommen.

Einfach perfekt, vielen Dank!
 

Neue Beiträge

Zurück