鑰匙要點
- 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在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6
視覺化網頁開發工具