jQuery 2.0+ を使用する Web サイトがあり、jQuery が読み込まれていない場合にアクションを実行したいと考えています。要するに、IE8、7、6 など、jQuery 2 をサポートしていないブラウザーをチェックしています。
私はjquery.check.jsでこのようにやっています
if (typeof window.jQuery == 'undefined') {
//show not supported page
}
BundleConfig は、次のようにバンドルを実行しています。
var b1 = new ScriptBundle("~/bundle/js").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery.check.js"
);
b1.Orderer = new InputBundleOrderer();
b1.Transforms.Clear(); //this removes the mimification for debugging purposes
bundles.Add(b1);
コードをオンにするとdebug="true"
、問題なく動作します。回すfalse
と動かない。IE8 でデバッグしている間、if
ステートメントに到達することはなく、多数のエラーが発生します。
エラーが発生すると IE8 が JavaScript ファイルの実行を停止するように思われるため、コード ブロックに到達することはありません。debug="true"
それが、ファイルが個別にロードされたときに機能し、バンドルされたときに機能しない(1つのファイル)理由について思いつく唯一の理由です。
私の推論は正しいですか?