鑰匙要點
- 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中文網其他相關文章!

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)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

Dreamweaver CS6
視覺化網頁開發工具

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