0

私のサイトには、IE9 でのみ発生する奇妙な問題があります。ページに追加する必要がある js コードがいくつかありますが、プレースホルダーを整理するために IE9 に対してのみ追加する必要があります。ただし、コードが追加されず、これが IE9 のバグなのか MVC のバグなのかわかりません。

問題は、スクリプトのコードをビューの上部に配置することです。セッションに追加され、マスター テンプレートでレンダリングされますが、IE9 ではビューがヒットしないため、コードが取得されません。レンダリングされます。ビューにブレークポイントを設定し、すべてのブラウザーでページにアクセスしました。ブレークポイントがヒットし、IE9 を除くすべてのブラウザーでマスター レイアウトに移動します。IE9 では、ブレークポイントが完全に失われ (ビューのどこに配置しても)、マスター レイアウトが最初に読み込まれます。

ただし、このページでポストバックを行うと、ビューがヒットし、スクリプトがレンダリングされます。

誰かが以前にこの問題を抱えていた、またはその原因を知っていますか

アップデート

コントローラーのコードはIE9でもヒットしません。これはキャッシュの問題ですか? もしそうなら、MVC によるページのキャッシュを停止するにはどうすればよいですか?

さて、さらなる更新は IE9 にあります。ロードされている URL が であることに気付きましたhttp://localhost/Quote/#/Quote/Form/が、他のすべてのブラウザーでは URL は正しいものです: http://localhost/Quote/Form/. 正しい URL にアクセスすると、ページは IE9 で正しく動作します。

これは、jQuery モバイル ajax 有効化オプションが原因ですか?

4

1 に答える 1

0

エラーは#、URL に追加されたことが原因でした。jQuery モバイル スクリプトの直前に次のコードを入力すると、次のことがわかりました。

 <script type="text/javascript">
    $(document).on("mobileinit", function () {
        $.mobile.ajaxEnabled = @Html.Raw(Request.Browser.IsMobileDevice ? "true" : "false");
    });
</script>

それは私の問題を解決しました

于 2013-07-31T15:46:03.093 に答える