钥匙要点
- jQuery $。浏览器功能由于其易受欺骗和虚假陈述而被贬低。鼓励开发人员避免特定于浏览器的代码,而是使用功能检测来获得更可靠的结果。 >缺少jQuery $的五个可能的解决方案。Browser函数包括使用jQuery Migrate插件迁移jQuery,使用Modernizr进行功能检测,使用新的$ .support用于功能和错误检测,使用Javascript/Manual检测或告知用户关于不支持的函数。
- > jQuery迁移插件可以用作恢复较新版本的jQuery的折旧功能和行为的临时解决方案。但是,建议将代码更新为不再依赖于弃用的功能以进行长期兼容性。
- > 好的,现在正式宣布$ .BROWSER功能已被贬低。我们该怎么办?不要惊慌,我在下面有5种可能的解决方案供您执行作为您的酌处权。回购中的此github消息确实说明了一切:
“不再维护此存储库不活跃。如果需要$。浏览器,请使用jQuery迁移插件,请直接重写代码或usenavigator.useragent。
为什么要删除$。浏览器?>大多数开发人员开始看到错误出现时,他们在想“到底是什么,为什么$浏览器被删除了?”。好吧,让我解释一些可能的原因。因为$ ..兄弟使用navigator.useragent来确定平台,所以它很容易被用户欺骗或浏览器本身虚假陈述。总是最好避免在可能的情况下完全避免使用特定于浏览器的代码。 $ .support属性可用于检测特定功能的支持,而不是依赖$ .browser。
可用标志为:
> webkit(作为jQuery 1.4)
> safari(已弃用)
- > Opera
- > msie(请注意,IE8在兼容性视图中声称为7) >
- > mozilla
- >解决方案1 - 迁移jQuery
- >使用jQuery迁移插件将jQuery的早期版本升级到jQuery 1.9.x。这是所有荣耀中迁移$ .BROWSER代码:
>解决方案2 - 使用Modernizr 使用ModernIzr利用特征检测,HTML5/CSS3等…而不是基本的浏览器检测。我认为Modernizr很棒!
jQuery<span>.uaMatch = function( ua ) { </span> ua <span>= ua.toLowerCase(); </span> <span>var match = <span>/<span>(chrome)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> <span><span>/<span>(webkit)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> <span><span>/<span>(opera)(?:.*version|)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> <span><span>/<span>(msie) (<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> ua<span>.indexOf("compatible") /<span>(mozilla)(?:.*? rv:(<span>[w.]</span>+)|)</span>/</span>.exec( ua ) || <span>[]; </span> <span>return { </span> <span>browser: match[ 1 ] || "", </span> <span>version: match[ 2 ] || "0" </span> <span>}; </span><span>}; </span> <span>// Don't clobber any existing jQuery.browser in case it's different </span><span>if ( !jQuery.browser ) { </span> matched <span>= jQuery.uaMatch( navigator.userAgent ); </span> browser <span>= {}; </span> <span>if ( matched.browser ) { </span> browser<span>[ matched.browser ] = true; </span> browser<span>.version = matched.version; </span> <span>} </span> <span>// Chrome is Webkit, but Webkit is also Safari. </span> <span>if ( browser.chrome ) { </span> browser<span>.webkit = true; </span> <span>} else if ( browser.webkit ) { </span> browser<span>.safari = true; </span> <span>} </span> jQuery<span>.browser = browser; </span><span>} </span> <span>// Warn if the code tries to get jQuery.browser </span><span>migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" ); </span>
>解决方案3 - 使用jquery.support
>使用新的$ .support利用功能和错误检测。 jQuery再次完成了所有艰苦的工作,并在浏览器上执行测试,并在jQuery.Support对象上存储结果(默认情况下,每个页面加载)。然后,我们可以简单查询此对象以确定是否可以使用功能。例如,要检查不透明度支持,只需做到这一点:
>jQuery<span>.uaMatch = function( ua ) { </span> ua <span>= ua.toLowerCase(); </span> <span>var match = <span>/<span>(chrome)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> <span><span>/<span>(webkit)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> <span><span>/<span>(opera)(?:.*version|)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> <span><span>/<span>(msie) (<span>[w.]</span>+)</span>/</span>.exec( ua ) || </span> ua<span>.indexOf("compatible") /<span>(mozilla)(?:.*? rv:(<span>[w.]</span>+)|)</span>/</span>.exec( ua ) || <span>[]; </span> <span>return { </span> <span>browser: match[ 1 ] || "", </span> <span>version: match[ 2 ] || "0" </span> <span>}; </span><span>}; </span> <span>// Don't clobber any existing jQuery.browser in case it's different </span><span>if ( !jQuery.browser ) { </span> matched <span>= jQuery.uaMatch( navigator.userAgent ); </span> browser <span>= {}; </span> <span>if ( matched.browser ) { </span> browser<span>[ matched.browser ] = true; </span> browser<span>.version = matched.version; </span> <span>} </span> <span>// Chrome is Webkit, but Webkit is also Safari. </span> <span>if ( browser.chrome ) { </span> browser<span>.webkit = true; </span> <span>} else if ( browser.webkit ) { </span> browser<span>.safari = true; </span> <span>} </span> jQuery<span>.browser = browser; </span><span>} </span> <span>// Warn if the code tries to get jQuery.browser </span><span>migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" ); </span>
>解决方案4 - 使用JavaScript/手动检测
使用以下JavaScript代码段来检测浏览器和版本。 QuirksMode具有相当广泛的JavaScript浏览器/设备检测对象,可能被证明有用。>
<span>if (jQuery.support.opacity) </span><span>{ </span> <span>//opacity you may do... </span><span>} </span>解决方案5 - 预防/信息
只需通知用户,他们使用的jQuery版本不支持$ .BROWSER函数。可能不会推荐此解决方案,因为它无助于可用性,但可以用来阻止某些插件。我建议使用迁移插件的开发人员版本,该插件打开内容丰富的调试。
>来源:https://raw.github.com/house9/jquery-iframe-auto-height/master/master/release/jquere.iframe-auto-height.plugin.1.9.1.9.1.js
<span>/* </span><span> Internet Explorer sniffer code to add class to body tag for IE version. </span><span> Can be removed if your using something like Modernizr. </span><span> */ </span> <span>var ie = (function () </span> <span>{ </span> <span>var undef, </span> v <span>= 3, </span> div <span>= document.createElement('div'), </span> all <span>= div.getElementsByTagName('i'); </span> <span>while ( </span> div<span>.innerHTML = '', </span> all<span>[0]); </span> <span>//append class to body for use with browser support </span> <span>if (v > 4) </span> <span>{ </span> <span>$('body').addClass('ie' + v); </span> <span>} </span> <span>}()); </span>
经常询问有关jQuery浏览器函数的问题(常见问题解答)
> jQuery浏览器函数是什么,为什么不弃用?> jQuery浏览器函数是jQuery中的功能,它提供了有关用户浏览器的信息。它用于检测用户使用的浏览器和版本。但是,此功能在JQuery版本1.3中被弃用,并在版本1.9中删除。其贬值的原因是它鼓励浏览器特定的代码,这是违反了渐进式增强和优雅退化的原则。取而代之的是,鼓励开发人员使用功能检测,这是一种更可靠,更耐心的方法。> jQuery浏览器函数的弃用有什么影响? jQuery浏览器函数意味着它不再在较新版本的jQuery中支持。如果您使用的是1.9或更高版本的jQuery版本,则任何依赖jQuery浏览器函数的代码都无法正常工作。如果您依赖此功能,这可能会破坏您的网站或应用程序。
>>如果遇到与jQuery浏览器函数相关的错误,我该如何修复jQuery浏览器函数错误?最好的解决方案是将代码更新到不再依赖此功能。而是使用功能检测来确定用户浏览器具有哪些功能。如果您无法更新代码,则可以使用jQuery Migrate插件,该插件还原jQuery浏览器函数。
什么是功能检测,我该如何使用它代替jQuery浏览器函数?
功能检测是Web开发中用于确定浏览器是否支持某个功能的技术。您没有检查浏览器和版本,而是检查是否有特定功能。这是一种更可靠,更适合未来的方法。您可以使用ModernIzr库进行功能检测。
>什么是jQuery Migrate插件,它如何帮助解决jQuery浏览器函数错误?
> > jQuery Migrate插件是帮助您的工具更新您的jQuery代码以使用较新版本的jQuery。它恢复了贬低的功能和行为,因此较旧的代码仍然可以与较新版本的jQuery一起使用。如果您不能再将代码更新为不再依赖jQuery浏览器函数,则可以将jQuery迁移插件用作临时解决方案。
如何使用jQuery迁移插件来修复jQuery浏览器函数错误?
>要使用jQuery Migrate插件,您需要将其包含在HTML文件中,包括jQuery。包含插件后,它将自动恢复jQuery浏览器函数和其他不弃用的功能。
>是否有jQuery浏览器函数的替代方法? jQuery浏览器功能。最受欢迎的替代方案之一是功能检测,这是一种更可靠,更适合未来的方法。您可以使用ModernIzr库进行功能检测。另一种选择是使用navigator.useragent属性,尽管不建议这样做,因为它可以很容易被欺骗。
>为什么比浏览器检测更优先?
特征检测比浏览器更喜欢检测是因为它是一种更可靠,更适合未来的方法。浏览器检测依赖于用户代理字符串,可以轻松地欺骗或虚假陈述。另一方面,功能检测检查是否有特定功能,这是确定用户浏览器功能的更准确的方法。如何更新我的代码以使用功能检测而不是jQuery浏览器函数?要更新您的代码以使用功能检测,您需要使用特定功能的检查来替换jQuery浏览器函数的任何实例。您可以使用ModernIzr库来帮助解决此问题。例如,您可以检查浏览器是否支持Internet Explorer独有的特定功能。
>如果我在jQuery中遇到其他不弃用的功能,该怎么办?
,如果您在jQuery中遇到其他折衷的功能,最好的解决方案是将代码更新到不再依赖这些功能的代码。您可以将jQuery迁移插件用作临时解决方案,但是建议更新代码以进行长期兼容性。始终检查jQuery文档以获取有关弃用功能及其替代方案的最新信息。
>以上是修复jQuery $的5种方法未找到浏览器功能的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用