2

私は MVC 2 フレームワークを使用しており、div を展開するための JavaScript を追加しました。Firefox、Chrome、Opera、Safari では正常に動作しますが、Internet Explorer では動作しません。「オブジェクトが必要です」というエラーが表示されます。これが私のコードです

jqueryインポートはsite.masterファイルにあります

 <head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />   
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" charset="utf-8"></script>

mvc ビューの Javascript: テスト アラートは IE で表示されますが、test2 では表示されません。

   <script type="text/javascript">
    alert("test");

    $(document).ready(function () {
        alert("test2");
        $(".expandingcontent").hide();

        $(".divexpand").click(function () {
            var divID = "#" + $(this).attr("id").substring(6);
            if ($(divID).is(":hidden")) {
                $(divID).slideDown("slow");
            } else {
                $(divID).hide();
            }
        });
    });
</script>     

ページの先頭に javavscript を配置しようとしましたが、最後には何も機能しないようです。また、タイムアウトを使用してみましたが、成功しませんでした。私は IE 8 を使用しています。

4

4 に答える 4

3

特にサイトで SSL を使用している場合は、Google CDN リソースへの参照が間違っています。
このように参照を変更すると、うまくいくはずです。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

その理由は、

読みやすくはありませんが 、RFC 3986 のセクション 4.2では、プロトコル (HTTP または HTTPS) を完全に省略した完全修飾 URL が規定されています。URL のプロトコルが省略されている場合、ブラウザーは代わりに基になるドキュメントのプロトコルを使用します。

Dave Ward がさらに詳しく説明しています

PS: CDN の読み込みに失敗した場合に備えて、Google CDN とローカル フォールバック リソースを使用することをお勧めします。

于 2011-03-25T13:14:28.957 に答える
2

jquery.jsを読み込めないことが原因でしょうか?ダウンロードして、ローカル リソースとして配置してみてください。

于 2011-03-25T09:43:48.380 に答える
1

私の場合、JSに無関係なconsole.logがあり、IEで静かに壊れました。IE開発ツールを有効にすると、魔法のように機能し始めたため、混乱しました。とにかく、それもチェックしてください。

于 2013-03-20T18:45:56.430 に答える
1

$(document).ready 関数を実行する前に、必ず jquery スクリプト ファイルを含めてください。

于 2011-03-25T09:45:16.813 に答える