我正在开发基于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
我很感激这方面的帮助
答案 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