1

该功能允许我们在我们的 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 上的后退按钮时会被删除,有什么想法吗?

4

1 回答 1

1

一旦我们将 Ipad 单元更新到 IOS 6,这个问题就得到了解决

于 2012-10-02T03:51:26.073 回答