1

asp.net WebフォームベースのWebサイトの多言語モバイルバージョンに取り組んでいます。これまでのところ、ある言語から別の言語に切り替えるとアプリケーションのダウンロードが正しいバージョンの CSS をダウンロードするが、Ctrl + F5 を押さない限り有効にならないという 1 つの問題を除いて、うまくいっています。

LTR と RTL 方向を使用する英語とアラビア語のバージョンを使用しているため、css を変更する必要があります。

以下に示すように、HTML ソース コードが各言語の正しいバージョンの css を示していても、何らかの形で 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' />

シナリオ

たとえば、最初に英語版に移動してからアラビア語版をクリックすると、アラビア語ではなく英語の CSS が使用されますが、その逆も同様です。しかし、CTRL + F5を押すと、正しいバージョンのcssが使用されます

この点で助けていただければ幸いです

4

2 に答える 2

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にそのコンテンツを更新します。

ここにサンプルがあります。

于 2013-03-20T11:12:52.923 に答える
0

次のjqueryを使用して、なんとか機能させることができました

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

私はいくつかの解決策を試しましたが、英語版またはアラビア語版の最初にダウンロードされた CSS を使用し続けたため、どれも機能しませんでした。

キャッシュを無効にすると他の問題が発生する可能性がありますが、反対側では正しいバージョンの css を使用する必要があります

于 2013-03-20T11:58:14.013 に答える