jQuery 2.0 이상을 사용하는 웹 사이트가 있고 jQuery가로드되지 않은 경우 작업을 수행하려고합니다. 본질적으로, 나는 jquery.check.js이 같은 일을 해요 등 IE8, 7, 6과 같은 jQuery를 2 지원하지 않는 브라우저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를 제외하고 별도의 참조로 추가하여 문제를 해결했습니다. 이것은 기본적으로 내 생각이 옳았다는 것을 증명했습니다. –