WordPressが古いjQuery v1.12.4を使用するのはなぜですか?


25

ソースコードをチェックしているときに、WordPressでjQuery v1.12.4が使用されていることがわかりました。WordPressがこの古いバージョンのjQueryを使用するのはなぜですか?


1
答えは非常に簡単です。WPは、古いブラウザーとの下位互換性を維持したいと考えています。WPには、IE8のサポートが必要なユーザーが十分にいるため、まだドロップできません。
シンバ

回答:


32

WPコアによってロードされたjQueryを使用する多くのテーマとプラグインがあります。jQueryが更新されるたびに、古いテーマやプラグインが破損するリスクがあります(それらの多くはまだ使用されていますが、更新されていないため)。それjquery-migrate.jsがあなたのソースコードにも見られる理由です。プラグイン/テーマで使用される古い関数をキャッチし、jQueryの新しいバージョンでも機能することを確認するスクリプトです。

jQuery 3.xファミリーに移行すると、多くのプラグイン/テーマが破損します。これは、非推奨のすべての移行スクリプトを用意することができないためです。これが、1.xファミリー2.x3.xファミリーがすでに存在している間に、ファミリーの新しいバージョンがまだ開発中であった理由です。あり得ないだろう新しい1.x2.xバージョンの後1.122.2、(セキュリティ)のパッチを除きます。jQuery 1.12は現在時代遅れではありませんが、近い将来になります。

そのため、WordPressはバインドされています。上位のjQueryバージョンにアップグレードしないと、新しい可能性に対応できません。ただし、アップグレードすると、古いサイトが破損します。最も可能性の高い結果は、WPが数年待機するため、古いテーマ/プラグインはとにかく段階的に廃止され、その後3.x家族にジャンプします。

明確化

上記から、1.xバージョンからバージョンへの移行3.xは実際には不可能であることが示唆される場合があります。それは真実ではない。少し複雑です。トリックは、最初のアップグレードににある1.12古い移行スクリプトを使用して結果をデバッグしてから追加し、3.0で仕事をする移行スクリプトを、1.12。詳細な手順はこちら

セキュリティ更新

開発者は、この古いjQueryバージョンが存在するため、Google Dev Tools / LighthouseがWordPressサイトを脆弱であると報告していることに気付くでしょう。実際、Lighthouseは、このライブラリにSnyk Vulnerabilities Databaseで言及されている脆弱性があるかどうかを確認するだけです。これを詳細に確認すると、バージョン1.12.4がクリーンであることがわかります。1.12.4が広く使用されていることを考えると、深刻な脆弱性が迅速に対処されることを期待できます。


4
ほんの少しの追加情報を追加するために-jQuery 1.xと2.xの両方が今年5月まで積極的に更新されていましたが、両者の違いは1.xがIE8と互換性があり、2.xがパッチを削除したことですこれらのバグのあるブラウザの修正。3.xは新しいバージョンであり、さまざまなインターフェイスを「公式」HTML5 / JavaScriptインターフェイスと互換性があるように変更することにより、さらに一歩進んでいます(つまり、同じ方法でjQueryが独自のバージョンになった、標準なりました)同じようなことをする)。
ライコシェ

23
  • それはだ時代遅れではありません
  • 2.xまたは3.xへの移行は時期尚早です。人々はまだ1.xでのみサポートされているIE8を使用しています

2
@LightnessRacesinOrbit同意しましたが、私の経験から、WP開発者の平均的な能力に関して、この質問は注目されています。
MonkeyZeus

7
2018年1月の更新:WordPressに含まれるデフォルトのままであるにもかかわらず古くなっているという考えは、もはや「ナンセンス」ではありません。XSSの脆弱性は1.12.4で確認されており、1.xブランチは更新プログラムを受け取っていません。推奨される改善策は
squarecandy

2
また、Lighthouseを使用する場合、Googleはバージョン1.12.4に既知のセキュリティ脆弱性が含まれているため、使用しないでくださいと言っています。
phpheini

4
マイクロソフトが行っていないIE8のサポートは、この時点では無責任です。セキュリティの問題がある古いブラウザを使用しているユーザーを保持します。誰かがIE8を使用している場合は、停止する必要があります。
デビッドA.フランス

1
@ DavidA.French私は動きを二番目にしています。開発者は、更新を拒否するユーザーへの対応を停止する必要があります。すべての既知の可能なブラウザ間で完全な互換性を持つことを誰もが望んでいた時代があり、それらの悪い習慣は続いています。インターウェブが動作しなくなると、それらの人々は最新のブラウザに更新されるでしょう。この時点で、主要なブラウザのいずれかの最新バージョンを使用していない場合(IEとAOLはまったく考慮されません)、インターネットは曲がらないはずです。正直なところIE8ですか?あなたはWebの1%未満のようです[AOLで話されている]「さようなら」
KFish

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.