该功能允许我们在ios应用程序上设置特定cookie时在语言翻译之间来回切换。目前,所使用的代码适用于所有浏览器,您可以使用页脚中的两个按钮浏览应用程序并切换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上的按钮时,会删除任何想法吗?
答案 0 :(得分:1)
我们将Ipad设备更新为IOS 6后解决了此问题