Autor Zpráva
Debo
Profil *
Dobrý den,

udělal jsem si v JavaScriptu tuhle podmínku na přesměrování na CZ verzi podle jazyka prohlížeče návštěvníka.

var jazyk = navigator.language;
if(jazyk=="cs" || jazyk=="cs-CZ"){
window.location.href="odkaz";
}

Osobně mi to funguje ve všech potřebných prohlížečích i v Safari (na Windows). Klient ale píše, že mu to nefunguje. Má Safari a českou verzi prohlížeče. Nevíte v čem by mohl být problém? Popřípadě poradit nějaké spolehlivější řešení jak poznat českého uživatele?

Díky za vaše rady
Tomášeek
Profil
Debo:
Má zapnutý JS? Jaké hodnoty u něj nabývá navigator.language?

To, že přesměrování, o které se snažíš, je nesmysl, je asi zbytečné zmiňovat. Mám CS prohlížeč, ale chci jít na anglickou verzi (třeba abych ji odkázal anglicky hovořícímu kolegovi). Jsem svéprávný a na EN verzi jdu zcela dobrovolně. Jaký je důvod, abys mě přesměroval jinam? Jak se na EN verzi dostanu? Lidí, kteří se omylem dostanou do jiné mutace, bude řádově méně než těch, kteří tam budou chtít vlastní vůlí a ty jim v tom budeš bránit.
Enko
Profil
Souhlasím s Tomášeek. Proč návštěvníkovi něco nutíš? Návštěvník by měl mítz možnost si jazyk zvolit sám. Další věcí je to, že by jsi toto přesměrování měl řešit na úrovni serveru a ne na klientovi. Kód v PHP na toto má pár řádků.
Debo
Profil *
Tohle samozřejmě není celý script. Pokud si návštěvník klikne na EN verzi tak se to uloží do cookies a přesměrování se obejde. Nakonec jsem zjistil, že klientovi metoda vrací hodnotu cs-cz a po přidání do podmínky to už funguje.

Děkuji ale za snahu poradit.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0