Die*_*goS 8 asp.net jquery internet-explorer telerik
当我浏览ASP .NET站点时,我在使用Internet Explorer时遇到以下JQuery异常.此外,我正在使用Telerik Controls套件用于ASP .NET和Visual Studio 2012.
如果我检查ScriptResource.axd中的行号?d = ...(Telerik的文件):
/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
a.querySelectorAll("*,:x"), //Line 10673
s.call(a,"[s!='']:x"), //Line 10898
Run Code Online (Sandbox Code Playgroud)
在我的jquery-2.1.0.min.js中:
/*! jQuery v2.1.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
a.querySelectorAll("*,:x") //Line 10357
q.call(a,"[s!='']:x") //Line 10571
Run Code Online (Sandbox Code Playgroud)
在这两个文件中,我在相同的两个句子中得到一个例外.这些异常不会导致外部行为,但我不喜欢在Visual Studio中看到它们,因为可能存在某些错误的信号.
注意:如果我删除Telerik的JQuery或标准JQuery错误仍然存在.即使我将Telerik的JQuery设置为使用标准的JQuery仍然存在错误.此外,控制台中没有错误.
发生了什么?
简短回答:
jquery 没有任何问题 - 有时它会做自己的“肮脏”事情来让你的手干净,因为有时没有“干净”的方法来完成需要做的事情
太长了;
长答案:
似乎在这两种情况下您都看到了jQuery捕获的错误,因为根据Telerik 文档,一些 Telerik 控件依赖于 jQuery - 所以您将拥有开箱即用的 jQuery
关于异常 - jQuery 加载后,它会进行功能检测- 如您所知,浏览器行为因每个浏览器/版本而异,并且通常无法在不尝试使用功能并捕获异常(如果该功能不受支持)的情况下进行检测
例如,a.querySelectorAll("*,:x")当 jquery 对以下支持的选择器进行功能检测时,会发生第一个异常(at ) - 您可以通过在github或任何非缩小的jquery 文件document.querySelectorAll中搜索来简单地找到它:
// Opera 10-11 does not throw on post-comma invalid pseudos
el.querySelectorAll("*,:x");
rbuggyQSA.push(",.*:");
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,只要页面上有 jquery,就无法避免它的预期行为