2016-11-04 9 views
0

mein Ziel ist es, ein Skript zu erstellen, das den Benutzer von der Homepage auf die relevante Sprachseite umleitet, basierend auf ihrer Browsersprache, hier ist was ich bisher habe:JavaScript window.location.replace (url) Mehrere Male neu laden

<script> 
    jQuery(document).ready(function() { 
     var language = window.navigator.userLanguage || window.navigator.language; 
     if (language === "en-US") { 
      window.location.replace("/test") 
     } 
    }); 
</script> 

Das Problem ist, dass, wenn die /test Seite geladen wird, wird es, bevor sie schließlich stoppen mehrmals neu zu laden. Bitte siehe unten um zu sehen, diese in Aktion (funktioniert nur, wenn die Browsersprache „en-US“)

http://ts564737-container.zoeysite.com/

Könnte jemand bitte helfen Sie sich dies falsch läuft und warum der Standort mehrfach ersetzt wird? Entschuldigung im Vorraus, ich habe gerade erst angefangen Coding zu lernen. Vielen Dank für Ihre Zeit.

+1

ich wird denke, das gleiche Skript ist auch auf der Seite vorhanden, auf die Sie umleiten? was würde eine Endlosschleife verursachen, bevor etwas schief geht und die Umleitungen stoppen? Sie können versuchen, den Standort vor dem Umleiten zu bestimmen, damit der Standort nicht geändert wird, wenn sich der Benutzer bereits auf der Zielwebsite befindet. – garglblarg

Antwort

1

Da Ihr Code bei jedem Laden der Seite in die jQuery(document).ready(function() { eingeschlossen wird, wird Ihre window.location.replace aufgerufen und die Seitenaktualisierung gestartet.

ich bemerkt habe, dass Sie auf Ihrer Website eine Sprache Dropdown haben, so versuchen Sie vielleicht etwas ähnlich wie diese statt:

<select class="foo" id="bar" onchange="dropdownChange()"> //options here </select>

und Ihre javscript zu

function dropdownChange() { var dropdown = document.getElementById("bar"); var language = dropdown.options[dropdown.selectedIndex].value; if (language === "en-US") { window.location.replace("/test"); } }

+1

I didn Denken Sie darüber nach, das Drop-down-Menü zu verwenden, aber jetzt haben Sie es erwähnt, das wäre absolut perfekt, da die Funktionalität bereits in der Plattform integriert ist. Ich werde mir diesen Code oben ansehen, wird er das Drop-down-Menü auswählen Option statt sich selbst umzuleiten? –

+1

@ matt136 Sie müssen sicherstellen, dass der Wert des Dropdown-Menüs auf die Werte gesetzt ist, die Sie in der if-Anweisung überprüfen, aber der Code bewirkt nur, dass die Seite aktualisiert wird, sobald ein anderer Wert ausgewählt wird. –

0

Ich habe versucht, Ihre Verbindung in Chrom und ich konnte nicht sehen, die mehrere Lasten. Welchen Browser benutzen Sie?

+1

Es ist keine Antwort, bitte verwenden Sie den Kommentar Abschnitt – Nvan

+1

Ich kann leider nicht die notwendigen Punkte :( – ashto5

+0

Es tut mir leid, ich war dumm, es wird nur für "en-US" im Moment funktionieren. –

Verwandte Themen