2011-04-22 137 views
9

我正在開發一個多語言PhoneGap應用程序,並希望存儲用戶的語言首選項。在首次啓動應用程序時,啓動屏幕會出現4個標誌,即用戶選擇,然後定向到該語言的登錄頁面。從那時起,應用程序加載將跳過啓動屏幕並以首選語言直接進入目標頁面。容易做到?建議?我熟悉餅乾/本地存儲,但如果有人已經這樣做,我會欣賞具體的方向。謝謝。Phonegap本地存儲

回答

0

我寧願你使用本地存儲,因爲使用cookie在IOS中給了一些問題。

7

您描述的內容應該很容易處理localStorage。我在Android上使用它之前研究過它,發現這個webpagecode examples and explanations非常有幫助。非常短暫和甜美。

+0

固定過期鏈接,包含仍然相同。 – Libby 2012-01-03 04:02:47

0

我有同樣的問題,我採取了不同的方法。

語言文件位於分離的目錄中,例如,

/assets/www/de/index.html 
/assets/www/en/index.html 

用戶可以通過工具欄上的按鈕打開對話框,在每個Web應用程序中選擇語言。

在開始活動/屏幕中,我想在啓動應用程序時選擇所選語言,因此我必須知道本機(Android,iOS)選擇了哪種語言。但該語言是在網絡應用程序中選擇的。

所以我創建了一個PhoneGap插件(目前只有Android,但iOS會遵循),它允​​許我設置一個鍵/值對。在網絡應用程序中,我設置了語言。本地(在活動中)我閱讀語言(獲取鍵/值對)並選擇正確的index.html。

我知道有可用的解決方案,它允許我在Web應用程序中存儲日期。但我想要一個解決方案,它允許我從雙方(本地和網絡)訪問值。

2

要保存到本地存儲使用:

function saveLanuageID(languageID) 
    window.localStorage.setItem('lang', languageID); 

讀取從本地存儲

function readLanguageID(){ 
if (typeof window.localStorage.getItem('lang')!== 'undefined' && window.localStorage.getItem('lang')!=null) { 
    return window.localStorage.getItem('lang'); 
} 
else return false 
} 

你將不得不使用代碼來測試保存語言上面

if(!readLanguageID()) 
//redirect to splash