2016-04-19 6 views
4

質問はそれについてのすべてを言うように、私は以下のようにasp.net MVCアプリケーションでの私のバンドルの設定では、最初の場所でjqueryのファイルが含まれていました。jveryがmvc bundle configファイルの最初の場所に定義されていても、jqueryが2番目に読み込まれるのはなぜですか?

bundles.Add(new ScriptBundle("~/bundles/ozhay").Include(
         "~/Scripts/jquery.min.js", 
         "~/Scripts/jquery-migrate.min.js", 
         "~/Scripts/jquery.slimscroll.min.js", 
         "~/Scripts/jquery.fancybox.pack.js", 
         "~/Scripts/jquery.owl.carousel.min.js", 
         "~/Scripts/jquery.zoom.min.js", 
         "~/Scripts/bootstrap.min.js", 
         "~/Scripts/back-to-top.js", 
         "~/Scripts/bootstrap.touchspin.js", 
         "~/Scripts/layout.js", 
         "~/Scripts/bs-carousel.js" 
       )); 

しかし、私は、Firefoxのソースコードを表示するかは、 IEは私がロードされた第二の位置にjqueryのを参照してください、以下の写真は細部を示しています。ここ Jquery loaded in the second position

は私がRenderBody()後に私のレイアウトページにスクリプトバンドルをレンダリングする方法である:

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

注:私のアプリケーションには、V1.10.2とV1.11.2という2つの異なるバージョンのjqueryがあります。バージョン1.10.2はMVCテンプレートによってインストールされ、2番目のバージョン1.11.2は私が作成したテンプレート(デザイン)に使用しているので、スクリプトに追加しました。

ありがとうございます!

答えて

0

あなたの問題はバンドルとは関係ありません。 バンドル設定は、スクリプトやスタイルを最適化するためのものです。 この問題は、HTML、CSS、画像、その他のコンテンツをすべてダウンロードするまでスクリプトが表示されないため、ブラウザによって発生します。迅速な回避策については

あなたがスクリプトのためのいくつかの命名規則は以下のようなファイルを試してみてください:ロード順序を強制するより複雑な方法については(良い作品が、それは混乱だ)

 "~/Scripts/jquery.min1.js", 
     "~/Scripts/jquery-migrate.min2.js", 
     "~/Scripts/jquery.slimscroll.min3.js" 

または

 "~/Scripts/1.js", 
     "~/Scripts/2.js", 
     "~/Scripts/3.js" 

あなたのスクリプトファイルの読み込みはJavascriptで行うべきですが、このソリューションの欠点は、すべてのファイルがJSによって最初に読み込まれなければならないため、スクリプトが遅く起動するということです。 このスレッドをチェックする詳細についてはload and execute order of scripts

関連する問題