0

モバイル アプリケーションを取得し、JavaScript を実行したいと考えています。スクリプト (「startstop」) をバンドルに配置:

    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-1.*"));

        bundles.Add(new ScriptBundle("~/bundles/startstop").Include(
                    "~/Scripts/startstop*"));
    ...

ビューにバンドルを含めました:

@section Scripts {
    @Scripts.Render("~/bundles/startstop")    
}

スクリプトを簡素化しました:

$(document).ready(function () {
    alert('Hello');
});

ページ/アプリケーションを実行したときに、startstop-scriptからのアクションがトリガー/実行されませんでした ( IExporer/Chrome)。IExporer/ Chromeただし、生成されたページのソース (スクリプトとコンテンツを含む) をコピーし、この startstop-scriptで保存された (コピーされた) ページを開くと、正常に実行されます。

何が間違っているのでしょうか?よろしくお願いします。

4

2 に答える 2

1

スクリプト ファイル名が .min.js で終わる場合、無視されます。この場合、これを RegisterBundles 関数の先頭に追加してみてください。

bundles.IgnoreList.Clear();

編集:明確化。

于 2013-02-07T14:00:48.670 に答える
0

理由はわかりませんが、問題は @section.Scripts が原因です:

@section Scripts {
    @Scripts.Render("~/bundles/startstop")    
}

このセクションがないと、startstop-scriptは正常に機能します。

@Scripts.Render("~/bundles/startstop")

仕事をします。最初のケースは、2 番目のケースとは少し異なります。

    </div>
  </div>
<script src="/Scripts/jquery-1.7.2.js"></script>
<script src="/Scripts/jquery.mobile-1.1.0.js"></script>
<script src="/Scripts/jquery-1.7.2.js"></script>
<script src="/Scripts/startstop.js"></script>
</body></html>

作業中のバリアントは次のようになります。

     <script src="/Scripts/jquery-1.7.2.js"></script>
     <script src="/Scripts/startstop.js"></script>
     </div>
  </div>
<script src="/Scripts/jquery-1.7.2.js"></script>
<script src="/Scripts/jquery.mobile-1.1.0.js"></script>
</body></html>

まだ私を困惑させますが、うまくいきます...!

于 2013-02-08T07:23:42.400 に答える