jQuery Mobile 1.3.0 css不适用于多语种网站

时间:2013-03-20 10:48:44

标签: jquery asp.net jquery-mobile

我正在开发基于asp.net webform网站的多语言移动版本。到目前为止,事情进展顺利,除了一个问题,即当我从一种语言切换到另一种语言时,应用程序下载纠正了CSS的版本,但除非我不按Ctrl + F5,否则无法生效。

我正在使用英语&阿拉伯语版本使用LTR& RTL方向因此需要更改css。

我不确定css是否以某种方式被缓存,即使HTML源代码显示每种语言的正确css版本,如下所示。

英文版

<script src="../Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="script/jquery.mobile-1.3.0/jquery.mobile-1.3.0.js" type="text/javascript"></script>
<link href='script/jquery.mobile-1.3.0/jquery.mobile-1.3.0.css' rel='stylesheet' type='text/css' />
<link href='style/mobile-english.css' rel='stylesheet' type='text/css' />

阿拉伯语版

<script src="../Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="script/jquery.mobile-1.3.0/jquery.mobile-1.3.0.js" type="text/javascript"></script>
<link href='script/jquery.mobile-1.3.0/jquery.mobile-arabic-1.3.0.css' rel='stylesheet' type='text/css' />
<link href='style/mobile-arabic.css' rel='stylesheet' type='text/css' />

情景

例如,如果我先去英文版&amp;然后单击阿拉伯语版本它将使用英语CSS而不是阿拉伯语css相同,反之亦然。但是,如果我按CTRL + F5然后它使用正确版本的CSS

我很感激这方面的帮助

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可以在加载新样式后刷新同一页面。

$.mobile.changePage(
 window.location.href, { // or '#PageID'
    allowSamePageTransition: true,
    transition: 'none',
    showLoadMsg: false,
    reloadPage: true // Forces page reload if you're using 'window.location.href' or url
});

上面的代码将重新加载没有transition的页面并刷新其内容。

这是sample

答案 1 :(得分:0)

我设法通过使用以下jquery

使其工作
$(document).ready(function () {
    $('form, a').removeAttr('data-ajax');
    $('form, a').attr('data-ajax', false);
});

我尝试了几个解决方案,但是没有一个能够继续使用CSS,这是第一次下载的英文或阿拉伯语版本。

禁用缓存可能有其他问题,但另一方面我必须使用正确版本的css