jquery $ .browser関数が見つからない5つの方法
キーテイクアウト
- jquery $ .browser関数は、スプーフィングと不実表示に対する脆弱性のために廃止されました。開発者は、ブラウザ固有のコードを避け、代わりにより信頼できる結果を得るために機能検出を使用することをお勧めします。 欠落しているjQuery $ .browser関数に対する5つの可能なソリューションには、jQuery移行プラグインでJQueryの移行が含まれ、Modernizrを使用して機能検出に使用します。サポートされていない関数に関するユーザー。
- jQuery移行プラグインは、jQueryの新しいバージョンで非推奨機能と動作を復元するための一時的なソリューションとして使用できます。ただし、長期的な互換性には、控除された機能に依存しなくなるようにコードを更新することが推奨されます。
- わかりましたので、$ .browser関数が廃止されたことが公式に宣言されました。私たちは何をしますか?あなたの裁量として実装するために、以下に5つの可能な解決策があります。リポジトリからのこのgithubメッセージはそれをすべて本当に言っています:
では、なぜ$ .browserが削除されたのですか?
ほとんどの開発者は、エラーが表示されているのを見始めたときに最初に考えて、「なぜ$ .browserが削除されたのか」と考えていました。さて、これのいくつかの考えられる理由について少し説明させてください。 $ .BrowserはNavigator.useragentを使用してプラットフォームを決定するため、ユーザーによるスプーフィングやブラウザ自体による不実表示に対して脆弱です。可能な場合は、ブラウザ固有のコードを完全に避けることが常に最善です。 $ .Supportプロパティは、$ .browserに依存するのではなく、特定の機能のサポートの検出に利用できます。利用可能なフラグは
です
webkit(jquery 1.4の時)
safari(非推奨)
- オペラ
- msie(IE8は互換性ビューで7であると主張することに注意してください)
- mozilla
- ソリューション1 - jquery を移行します
- jQuery移行プラグインを使用して、jQueryの以前のバージョンをjQuery 1.9.xにアップグレードします。これは、そのすべての栄光における移行$ .browserコードです:
ソリューション2 - Modernizrを使用します
基本的なブラウザ検出の代わりに、Modernizrを使用して、機能検出、HTML5/CSS3などを利用します。 Modernizrは素晴らしいと思います!
ソリューション3 - jquery.support
を使用しますnew $ .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") < 0 && <span>/<span>(mozilla)(?:.*? rv:(<span>[w.]</span>+)|)</span>/</span>.exec( ua ) || </span> <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/Manual Detectionを使用
次のJavaScriptコードスニペットを使用して、ブラウザとバージョンを検出します。 QuirkSmodeには、かなり広範なJavaScriptブラウザー/デバイス検出オブジェクトがあり、これが有用であると証明されます。
<span>if (jQuery.support.opacity) </span><span>{ </span> <span>//opacity you may do... </span><span>} </span>
使用しているjQueryのバージョンが$ .browser関数をサポートしていないことをユーザーに通知するだけです。おそらく、このソリューションは使いやすさのために何もしないので、このソリューションをお勧めしませんが、特定のプラグインをブロックするために使用できます。有益なデバッグをオンにするMigrateプラグインの開発者バージョンを使用することをお勧めします。
出典:https://raw.github.com/house9/jquery-iframe-auto-height/master/master/release/jquery.iframe-auto-height.plugin.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ブラウザー関数に関するよくある質問(FAQ)jQueryブラウザ関数とは何ですか?なぜそれが非推奨されるのですか?jQueryブラウザ関数は、ユーザーのブラウザに関する情報を提供するjqueryの機能でした。ユーザーが使用するブラウザとバージョンを検出するために使用されました。ただし、この関数はjQueryバージョン1.3で非推奨され、バージョン1.9で削除されました。その非推奨の理由は、進歩的な強化と優雅な劣化の原則に反するブラウザ固有のコードを奨励したからです。代わりに、開発者は機能検出を使用することをお勧めします。これは、より信頼性が高く将来のアプローチです。 jQueryブラウザ関数は、jQueryの新しいバージョンではサポートされなくなることを意味します。 1.9以降のjQueryのバージョンを使用している場合、jQueryブラウザー関数に依存するコードは機能しません。これにより、この関数に依存している場合、Webサイトまたはアプリケーションが壊れる可能性があります。最良の解決策は、この機能に依存しなくなるようにコードを更新することです。代わりに、機能検出を使用して、ユーザーのブラウザが持っている機能を決定します。コードを更新できない場合は、jQueryブラウザ機能を復元するjQuery移行プラグインを使用できます。
機能検出とは何ですか?また、jQueryブラウザ関数の代わりに使用するにはどうすればよいですか?
機能検出は、ブラウザが特定の機能をサポートするかどうかを判断するためにWeb開発で使用される手法です。ブラウザとバージョンをチェックする代わりに、特定の機能が利用可能かどうかを確認します。これは、より信頼性が高く将来のアプローチです。 Modernizrライブラリを機能検出に使用できます。 jQueryコードを更新して、jqueryの新しいバージョンで動作します。廃止された機能と動作を復元するため、古いコードはjQueryの新しいバージョンで動作します。 jQueryブラウザ関数に依存しなくなってコードを更新できない場合は、jQuery移行プラグインを一時的なソリューションとして使用できます。
jQuery移行プラグインを使用するには、jQueryを含めた後、HTMLファイルに含める必要があります。プラグインを含めたら、jQueryブラウザー機能やその他の非推奨機能を自動的に復元します。 jQueryブラウザ関数。最も人気のある代替品の1つは、より信頼性が高く将来のないアプローチである機能検出です。 Modernizrライブラリを使用して、機能検出を行うことができます。もう1つの代替品は、navigator.useragentプロパティを使用することですが、これは簡単にスプーフィングできるため推奨されません。
ブラウザ検出よりも機能検出が優先されるのはなぜですか?より信頼性が高く将来のプルーフアプローチであるため、検出。ブラウザの検出は、ユーザーエージェントの文字列に依存しています。これは、簡単にスプーフィングまたは誤って伝えることができます。一方、機能検出は、特定の機能が利用可能であるかどうかをチェックします。これは、ユーザーのブラウザの機能を決定するためのより正確な方法です。ブラウザ関数?
コードを更新して機能検出を使用するには、jQueryブラウザー関数のインスタンスを特定の機能のチェックに置き換える必要があります。 Modernizrライブラリを使用してこれを支援できます。たとえば、ユーザーがInternet Explorerを使用しているかどうかを確認する代わりに、ブラウザがInternet Explorerに固有の特定の機能をサポートしているかどうかを確認できます。 jQueryで他の非推奨機能に遭遇した場合はどうすればよいですか?
jQueryで他の非推奨機能に遭遇した場合、最良の解決策は、これらの機能に依存しなくなるようにコードを更新することです。 jQuery移行プラグインを一時的なソリューションとして使用できますが、長期的な互換性のためにコードを更新することをお勧めします。非推奨機能とその代替案に関する最新情報については、必ずjQueryドキュメントを確認してください。
以上がjquery $ .browser関数が見つからない5つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。
