Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Script per il riconoscimento della lingua

    Ciao ieri ho inserito il seguente codice per il riconoscimento della lingua e conseguente redirect:

    codice:
    <script type="text/javascript">
    <!--
    lang = ((document.all) && !(window.opera)) ? window.navigator.systemLanguage : window.navigator.language;
    lang = lang.substr(0,2); // Firefox restituisce "it-IT"
    
    var lingua = window.navigator.systemLanguage;
    
    if (lingua == "it")
    {
        location.href = "http://www.miosito.it/italiano/index.html";
    }
    else if (lingua == "en")
    {
        location.href = "http://www.miosito.it/english/index.html";
    }
    else
    {
        with (document)
        {
            write("<div align='center'>");
            write("Questo sito Ë disponibile in italiano ed in inglese!
    
    ");
            write("This site is available in italian and in english!
    
    ");
            write("Versione italiana - ");
            write("English version");
            write("</div>");
        }
    }
    
    </script>
    il mio problema è che su Mac non funziona il redirect, ovvero, appare sempre la pagina che ti permette di scegliere italiano o inglese.

    Mi potreste dare una mano a sistemare il codice???
    La Vita è come un temporale:
    Prenderla nel c**o è un lampo!

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    prova a mettere un alert

    ...
    var lingua = window.navigator.systemLanguage;
    alert(lingua);
    ...

    che cosa restituisce? E su che browser lo stai provando?

    Edit: come mai non usi la variabile lang?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    premetto che non sono un gran esperto di JS.

    nell'alert appare IT ma poi comunque va alla pagina di smistamento.

    Come Browser uso:

    1. Firefox 1.5.1
    2. Comino 1
    3. Netscape 7.5
    4. Opera 8.5
    5. Mozilla 1.7
    6. Safari
    La Vita è come un temporale:
    Prenderla nel c**o è un lampo!

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    appunto compare "IT" in maiuscolo
    mentre tu controlli se la stringa è "it" (in minuscolo)

    quindi

    codice:
        <script type="text/javascript">
        <!--
        lang = ((document.all) && !(window.opera)) ? window.navigator.systemLanguage : window.navigator.language;
        lang = lang.substr(0,2); // Firefox restituisce "it-IT"
        lang = lang.toLowerCase();
    
        if (lang == "it")
        {
            location.href = "http://www.miosito.it/italiano/index.html";
        }
        else if (lang == "en")
        {
            location.href = "http://www.miosito.it/english/index.html";
        }
        else
        {
            with (document)
            {
                write("<div align='center'>");
                write("Questo sito Ë disponibile in italiano ed in inglese!
    
    ");
                write("This site is available in italian and in english!
    
    ");
                write("Versione italiana - ");
                write("English version");
                write("</div>");
            }
        }
    
        </script>
    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    ...niente...

    non capisco

    quale potrebbe essere il problema???
    La Vita è come un temporale:
    Prenderla nel c**o è un lampo!

  6. #6
    questo silenzio mi deve far presupporre che non ci siano speranze che il JS funzioni anche su Mac??

    La Vita è come un temporale:
    Prenderla nel c**o è un lampo!

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se vuoi sperare di farlo funzionare su Mac dovresti provare ad eseguire questo script

    <script>
    alert(window.navigator.appName);
    alert(window.navigator.appversion);
    alert(window.navigator.systemLanguage);
    alert(window.navigator.language);
    </script>

    con tutti i browser che hai su Mac e produrre una tabellina
    di quello che ti viene restituito. In questo modo riusciamo a fare uno script più universale
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    oki... ora procedo...
    La Vita è come un temporale:
    Prenderla nel c**o è un lampo!

  9. #9
    Ecco il responso:

    Firefox 1.5.1

    1. Netscape
    2. Undefined
    3. Undefined
    4. it

    Camino 1.0

    1. Netscape
    2. Undefined
    3. Undefined
    4. en-US

    Internet Explorer 5.2

    1. Microsoft Internet Explorer
    2. Undefined
    3. en
    4. Undefined

    Mozilla 1.7.12

    1. Netscape
    2. Undefined
    3. Undefined
    4. en-US

    Netscape 7.5

    1. Netscape
    2. Undefined
    3. Undefined
    4. en-US


    Opera 8.5

    1. Opera
    2. Undefined
    3. Undefined
    4. en

    Safari 1.3.2

    1. Netscape
    2. Undefined
    3. Undefined
    4. it-it
    La Vita è come un temporale:
    Prenderla nel c**o è un lampo!

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    allora dovrebbe funzionare lo stesso

    la prima riga
    codice:
    lang = ((document.all) && !(window.opera)) ? window.navigator.systemLanguage : window.navigator.language;
    dice che la variabile lang = window.navigator.systemLanguage solo se usi IE, e window.navigator.language in tutti gli altri casi

    dai risultati che mi posti tu la cosa coincide anche sul Mac

    la seconda riga
    codice:
    lang = lang.substr(0,2).toLowerCase();
    prende le prime due lettere della lingua e le trasforma in minuscolo


    A questo punto prova di nuovo questo sui vari browser e dimmi dove non riporta correttamente la lingua

    codice:
    lang = ((document.all) && !(window.opera)) ? window.navigator.systemLanguage : window.navigator.language;
    lang = lang.substr(0,2).toLowerCase();
    alert(lang);
    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.