我有一个使用 jQuery 2.0+ 的网站,如果尚未加载 jQuery,我想执行一个操作。本质上,我正在检查任何不支持 jQuery 2 的浏览器,例如 IE8、7、6 等。
我在 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"
(文件单独加载)时有效,而在捆绑时无效(一个文件)。
我的推理正确吗?