我有一個網站使用jQuery 2.0+,並希望在未加載jQuery的情況下執行操作。從本質上說,我檢查不支持的jQuery 2,如IE8,7,6,我在jquery.check.js這樣做任何像這樣的瀏覽器等使用ASP.NET檢查jQuery綁定失敗,IE8
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"
(單獨加載文件)並且在捆綁(單個文件)時不起作用時,這是我能夠想出爲什麼它會工作的唯一原因。
我的推理是否正確?
我最終解決了問題,通過從包中排除jquery.check.js並將其添加爲單獨的引用。這基本上證明了我的想法是正確的。 –