2012-11-07 73 views
2

我嘗試設置一個JS函數,以不同的語言自動加載索引頁面,將設置設備關注到我的閱讀器。window.location.replace with Phonegap

我嘗試這個...但不工作:

<script src="cordova-2.2.0.js"></script> 
<script type="text/javascript" charset="utf-8"> 

      function checkLanguage() { 
       if (navigator.globalization.getPreferredLanguage()='en_EN') 

       { 
       window.location.replace("index_en.html"); 
      } 

      else if (navigator.globalization.getPreferredLanguage()='fr_FR') 
      { 
       window.location.replace("index_fr.html"); 
      } 
      else 
      { 
       window.location.replace("index_other.html"); 
      } 

     } 
</script> 

是這種方法可以使用,還是我不得不考慮其他選擇來對付我多語言的應用程序?

在此先感謝您的幫助。

回答

1

您需要使用getPreferredLanguage的回調:

var handleDeviceReady = function (event) 
{ 
    navigator.globalization.getPreferredLanguage(
     function (language) 
      { 
       console.log("language: " + language.value + '\n'); 
       redirectToLocaleSpecificLogin(language.value); 
      }, 
     function() 
      { 
       console.log("Error getting language\n"); 
       redirectToLocaleSpecificLogin("en"); 
      } 
    ); 
}; 

document.addEventListener("deviceready", handleDeviceReady, false); 

然後你的回調(在這種情況下redirectToLocaleSpecificLogin)的裏面,你可以做你的重定向。

0

大多數瀏覽器使用語言財產,IE使用使用者語言

var lang = window.navigator.userLanguage || window.navigator.language;

這應該在IE,Safari瀏覽器,Chrome瀏覽器和FF

編輯:

JavaScript for detecting browser language preference此鏈接更詳細的討論這個話題

+0

謝謝,在我的情況下,它只會在iPad上使用,這就是我需要使用navigator.globalization.getPreferredLanguage的原因,這是在PhoneGap API中描述的[link] http://docs.phonegap.com/en /2.2.0/cordova_globalization_globalization.md.html#globalization.getPreferredLanguage[link] – Benoit

相關問題