会社が要求する場合、顧客または市場のニーズにより、IE8 などの下位バージョンのブラウザーとの互換性が必要になります。日常業務で互換性の問題にどのように対処していますか?
私の現在の解決策について話させてください。また、皆さんが独自の解決策を考え出せることを願っています。
Firefox
と Chrome
自体は大きな問題ではなく、デバッグがより便利です。問題は一般に大きくなく、主に IE
です。
Windows システム
IE の以前のバージョンを使用している場合、win10
はサポートされていない可能性があります。さらに、組み込みのデバッグ ツールは非常に非人道的なものです。何年か前。場合によっては、リクエストを調整するために fiddler
を使用した方がよい場合があります。
ブラウザは IE11 を使用します (組み込み開発者ツールのエミュレーション オプションにより、IE7 ~ 11 ブラウザをシミュレートできます。開発者ツールは比較的新しく、デバッグがより便利であるため、一般的には問題ありません。ただし、シミュレーション モードでの実際の効果と一致しない CSS および JS の問題がいくつかあります)
IETest を使用します。正直に言うと、このツールは非常に使いにくいと思います。デバッグ ツールは 1 と同じくらい古いです。スタイルの問題を見るのは問題ありませんが、JS エラーをデバッグするのは面倒です。等々。
Linux に似たシステム
この IE では、仮想マシンを実行する必要がある場合があります。仮想マシンを実行すると、上記の ウィンドウ システム
と同じ問題が発生します。
共有クラウド テスト
これには bowserstack
(ローカル デバッグをサポート、Chrome プラグインのインストールが必要) などが含まれています。この料金は月額約 29 ドルと少し高価で、1 人用のようです。ほとんどのブラウザをサポートしていますが、速度は比較的遅いですが、それでも十分なソリューションです。
プライベート クラウド テスト
以前、講演会に行ったときに、プライベートクラウドなら、第一にスピード、第二にカスタマイズ性が良い、と言っていた人がいたような気がします。
現在、個人的には プライベート クラウド テスト
を使用したいと考えていますが、より優れたオープンソース ソリューションがあるかどうかはわかりません。
皆さんのご意見を歓迎し、一緒に議論しましょう。皆さんありがとうございました~
個人的には、上記の考えは間違っていると思います 互換性要件を明確にした上で、開発時にこれらの互換性の問題を考慮する必要があります。すべてが正常に完了した後で、これらの問題をテスト、発見、デバッグ、解決するのではなく。
IE8 との互換性が必要であると判断された場合は、開発中にいくつかの一般的な問題に対処する必要があります。例:
IE8のwindowオブジェクト配下にはJOSNがないため、JSONライブラリを使用する必要があります。
多くの場合、IE8 では再描画は行われないため、個別に処理する必要があります。
IE8 でのイベント バインディングの互換性のある書き込みメソッド。
IE89 には、コンソールが開いていないときはコンソール オブジェクトがないため、最終コードにコンソール デバッグ コードが存在できません。
IE8 は基本的に css3 をサポートしておらず、IE9 は一部のスタイル ダウングレード ソリューションを部分的にのみサポートしています。
。 。 。
開発前に互換性要件を明確にし、開発中に対応する互換性の問題に対処します。最終製品が完成したら、通常通り、対応するブラウザで機能テストを実行するだけです。基本的に互換性は問題ありません。
私が働いている会社の製品は IE8 と完全に互換性がある必要があり、一部の製品は IE7 と互換性がある必要があり、私は常にこの方法を使用しています。実現できない効果については、下位バージョンのブラウザでは機能やスタイルの互換性を保証するだけであり、上位バージョンのブラウザと同様の効果は得られないことをお客様に直接伝えてください。
どのようなテストツールであっても、問題が発見されたら最終的には解決する必要があります。それに対処する最善の方法は、ソースから対処することではないでしょうか?あなたが言ったように、IE の以前のバージョンでは、デバッグは不可能か、非人間的です。
ツールとしては、AlibabaのF2ETESTをおすすめします。導入は面倒ですが、機能が良くて使いやすいです。
最後に、会社がある程度の経験を積んでいれば、互換性が必要なのは IE だけではないことがわかるでしょう。Chrome と Firefox にもいくつかの問題がありますが、比較的少数です。