2012-09-26 32 views
1

該功能允許我們在我們的ios應用程序上設置特定cookie時在語言翻譯之間來回切換。目前所用的代碼適用於所有瀏覽器,您可以瀏覽應用程序並使用頁腳中的兩個按鈕切換Cookie。ios應用程序後退按鈕不保存cookie

一旦我們在ios模擬器上測試了功能,就會發生以下問題。當我們在一個頁面上,例如我們選擇了英語,如果我們轉到下一頁並選擇日語,那麼頁面將以日語翻譯重新加載,然後當我們按下後退按鈕轉到上一頁時,它將恢復爲英語並且cookie不再設置。

後退按鈕:

<div onclick="javascript:createCookie('previousPagePath',location.pathname,(1/24/60)); history.go(-1);"> 
    <img src="<!--{$rewriteBase}-->images/common/previous.png" alt="" /> 
    <div> 
     <span class="langTranslate">Back//戻る</span> 
    </div> 
</div> 

下面是用於創建的cookie的JavaScript,默認情況下它開始了英語( '0')。日語將是('1')。

的Javascript:

// language selection 

$(function() { 
    if(readCookie('langSelect') == null) { 
    // create cookie and set it to english by default 
    createCookie('langSelect', '0', 1); 
} 
// set selected language 
$('.langBtn').click(function() { 
    var selectedLangCode = $(this).attr('data-lang-code'); 
    createCookie('langSelect', selectedLangCode, 1); 
    location.reload(); 
}); 
}); 

下面的JavaScript包含在每腳註 您將看到第幾行用於將英語從日本分離出來,因爲它出現在我們的數據庫,像這樣:(英語翻譯//日語翻譯)

<script type="text/javascript"> 
// set current language 
$('.langTranslate').each(function() { 
    var label = $(this).text(), 
    currentLang = parseInt(readCookie('langSelect'), 10), 
    delimiter = '//'; 
    if(label.length >= 4 && label.indexOf(delimiter) != -1) { 
     label = label.split(delimiter); 
      if(typeof label[currentLang] !== 'undefined') { 
       $(this).text(label[currentLang]); 
      } 
     } 
}); 
</script> 

該Cookie下的瀏覽器在任何情況下保存,當我們按下返回鍵在iOS上,任何想法但被刪除?

回答

1

一旦我們將Ipad單元更新爲IOS 6

相關問題