0

ASP.net MVC 4 Web アプリケーション (Visual Basic) があります。_Layout.vbhtml 共有ビューでは、読み込み中の div を非表示にし、すべてが読み込まれるとメイン ページのコンテンツを表示するように設計された、コードの一番下に小さな JavaScript があります。

.vbhtml ファイルの一部を次に示します。

        <!-- JQuery & Javascript Loading -->
        @Scripts.Render("~/bundles/jquery", "~/bundles/jquerymain", "~/bundles/bootstrap", "~/bundles/lib", "~/bundles/gebo_dashboard")
        @RenderSection("scripts", required:=False)

        <!-- Close loading page -->
        <script type="text/javascript">
            $(document).ready(function () {
                //* show all elements & remove preloader
                alert("Hello Ready");
                setTimeout('$("html").removeClass("js")', 1000);
            });
        </script>
    </div>
</body>

そして、生成されたhtmlは次のとおりです。

        <!-- JQuery & Javascript Loading -->
        <script src="/Scripts/jquery-1.7.1.js"></script>
        <script src="/Scripts/jquery/jquery.ui.touch-punch.js"></script>
        <script src="/Scripts/jquery/jquery.ui.totop.js"></script>
        <script src="/Scripts/jquery/jquery.easing.1.3.js"></script>
        <script src="/Scripts/jquery/jquery.debouncedresize.js"></script>
        <script src="/Scripts/jquery/jquery.cookie.js"></script>
        <script src="/Scripts/jquery/jquery.qtip.js"></script>
        <script src="/Scripts/jquery/jquery.colorbox.js"></script>
        <script src="/Scripts/jquery/jquery.jBreadCrumb.1.1.js"></script>
        <script src="/Scripts/jquery/jquery.actual.js"></script>
        <script src="/Scripts/jquery/jquery.imagesloaded.js"></script>
        <script src="/Scripts/jquery/jquery.wookmark.js"></script>
        <script src="/Scripts/jquery/jquery.mediaTable.js"></script>
        <script src="/Scripts/jquery/jquery.peity.js"></script>
        <script src="/Scripts/jquery/jquery.flot.js"></script>
        <script src="/Scripts/jquery/jquery.flot.pie.js"></script>
        <script src="/Scripts/jquery/jquery.flot.resize.js"></script>
        <script src="/Scripts/bootstrap/bootstrap.js"></script>
        <script src="/Scripts/bootstrap/bootstrap.plugins.js"></script>
        <script src="/Scripts/lib/jquery-mousewheel.js"></script>
        <script src="/Scripts/lib/antiscroll.js"></script>
        <script src="/Scripts/lib/fullcalendar.js"></script>
        <script src="/Scripts/lib/ios-orientationchange-fix.js"></script>
        <script src="/Scripts/lib/list.js"></script>
        <script src="/Scripts/lib/list.paging.js"></script>
        <script src="/Scripts/lib/prettify.js"></script>
        <script src="/Scripts/lib/sticky.js"></script>
        <script src="/Scripts/gebo/gebo_common.js"></script>
        <script src="/Scripts/gebo/gebo_dashboard.js"></script>

        <!-- Close loading page -->
        <script type="text/javascript">
            $(document).ready(function () {
                //* show all elements & remove preloader
                alert("Hello Ready");
                setTimeout('$("html").removeClass("js")', 1000);
            });
        </script>
    </div>
</body>

ページをロードしてブラウザーで表示すると、$(document).ready 関数が起動しないため、ロード中の div が表示されたままになります。

$(document).ready 関数の外にアラートを配置してスクリプト セクションをテストしました。前後の両方で、期待どおりにアラートが発生します。ただし、 $(document).ready 関数内のアラートは表示されず、関数が実行されないことを示します。

pageLoad() 関数を使用してみましたが、運もありませんでした。

これが機能しない理由を誰かが知っていますか?

4

1 に答える 1

1

ああ、私はちょうど問題を見つけました。テンプレートを ASP.net プロジェクトに移植してきましたが、Firebug によると、ページに 1 つの JavaScript エラーがありました。どうして見逃したのかわかりませんが、エラーを解決すると問題が解決しました。:)

于 2012-11-08T12:04:22.420 に答える