エラーになるかも? 「バージョン 100」に備えよ! ~Canary版「Chrome」がv100に到達
やじうまの杜
Chrome/Edgeは3月末、Firefoxは5月にv100が安定版に
“やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。
Canary版「Google Chrome 100」Canary版「Google Chrome」がとうとう「バージョン 100」になったようです。調べてみると、Stable(安定)版としてリリースされるのは3月末になりそう。「Microsoft Edge」もその数日後には「バージョン 100」となるでしょう。「Firefox 100」のリリースも、少し遅れて5月に達成されそうです。
つまり、今年は主要ブラウザーが一斉に「バージョン 100」を迎える記念すべき(?)年になるというわけです。
しかし、メジャーバージョンが3桁に繰り上がることでトラブルの発生も予想されています。というのも、Webブラウザー(UserAgent、UA)のバージョン判定処理のなかには、メジャーバージョンが3桁になることを考慮していないものもあるためです。以下はバージョンの判定が正しく行われておらず、対応していないというバナーが表示される例です。「Chrome 100」でアクセスしているのですが、おそらく内部では「Chrome 10」だと判定されているのでしょう。
UAのバージョン判定処理で3桁のメジャーバージョンを考慮していない例。「Chrome 100」でアクセスすると、対応していないというバナーが表示される警告バナーが表示されるだけならまだしも、動かなくなったり、意図しない動作になると厄介ですね。
関連記事「Chrome」のバージョンが3桁になるとエラーが起きる? 「Chrome 96」ベータ版に試験機能フラグが搭載
そこで「Chrome」には、この問題を検出したり、回避するためのフラグが用意されています。いずれも「chrome://flags」画面で有効化可能です。
「chrome://flags」画面メジャーバージョンを「99」に固定する「#force-major-version-to-minor」
「 #force-major-version-to-minor」は、UAのメジャーバージョンを「99」に固定し、メジャーバージョン番号をマイナーバージョンの位置へ強制的に挿入します。このフラグは3桁のメジャーバージョンで予期せぬ非互換性問題を引き起こさないようにするためのバックアッププランです。「Chrome 100」以降でWebブラウザーの表示に問題が発生したときは試してみるとよいでしょう。開発者はマイナーバージョンを参照することで、本当のメジャーバージョンを知ることができます(「Chrome」のマイナーバージョンは通常、常に「0」です)。
UAのメジャーバージョンを「99」に固定し、メジャーバージョン番号をマイナーバージョンの位置へ強制的に挿入メジャーバージョンを強制的に「100」へ変更する「#force-major-version-to-100」
「 #force-major-version-to-100」は、UAのメジャーバージョンを強制的に「100」へ変更します。「Chrome 100」でアクセスした場合にWebサイトでどんな問題が発生するかを事前にテストしたい場合に役立ちますが、利用できるのは「Chrome 96」から「Chrome 99」までに限られます。
マイナーバージョンを「100」に固定する「#force-minor-version-to-100」
「 #force-minor-version-to-100」は、UAのマイナーバージョンを「100」に固定します。
前述の通り、3桁のメジャーバージョンで予期せぬ非互換性問題が発生した場合、メジャーバージョンをマイナーバージョンの位置に差し替える「#force-major-version-to-minor」で問題を回避できますが、マイナーバージョンが「0」であることを前提としたWebサイトに問題が生じるかもしれません。このフラグを使えば、回避策が有効かどうかを事前にチェックできます。
「#force-major-version-to-minor」以外は「Microsoft Edge」でも使える「 #force-major-version-to-minor」以外は「Microsoft Edge」でも使えるので、活用していただければと思います。ちなみに「Firefox」にはこれに類するフラグはとくに用意されていないようです。