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上,任何想法但被刪除?