21 世紀では、ブラウザーの多様性はあなたを驚かせるのに十分です。ページ互換性テストを行う場合、多数のブラウザーに直面して Web ページをどのようにデバッグすればよいでしょうか?実際、ブラウザの核心を理解していれば、頭を悩ませることはありません。コアの数はそれほど多くないため、一般的なコアの種類は Trident、Gecko、WebKit、Presto の 4 種類に分類できます。
多数のブラウザについて言えば、{シェル + さまざまなブラウザのカーネル = ブラウザ} です。シェルとは、ユーザーが操作できるブラウザ インターフェイス上のメニューやツールバーを指します。そしてそれらはすべてカーネルを呼び出してさまざまな機能を実装します。カーネルがブラウザの中核であることがわかります。したがって、ブラウザのコア エンジンが何であるかを理解していれば、行き詰まりを感じることなく互換性テストを実行できます。
ブラウザのコアは、レンダリング エンジンと JS エンジンに分けられます。
レンダリング エンジン: レイアウト エンジニアまたはレンダリング エンジン。ページ コンテンツ、つまり Web サイトへのアクセスの解析とレンダリングを担当します。空白のページからページへ 読み込みが完了し、ページは単純なレイアウトから完全なレイアウトへのプロセスを経ました。ページのタグを解析し、CSS をロードし、ページがどのように表示されるかを計算します。これは、さまざまなブラウザー コアがあり、Web ページの語彙解析も異なるため、表示に違いがあり、これがフロントエンド開発にとって頭の痛い互換性の問題であるということを理解しています。
js エンジン: ページ スクリプト (JavaScript) 言語を解析して、ページ上でいくつかの動的な効果を実現します。
4 つのカーネルの紹介:
1. Trident: Microsoft によって開発されたエンジンであり、他の多くのブラウザーもこれをカーネルとして使用します。 Microsoft IE は常にリーダーであり、独自開発された部分が多く、W3C 標準のサポートはそれほど良好ではありません。多くのバグがあり、最初は更新がほとんどなかったため、ie5+、ie6、その他の邪悪なブラウザーが存在し、フロントエンド開発の経験がほとんどない多くの学生がそれを軽蔑しました。はい、ie8+ から、ie は再び徐々に強力になり、ie10 を楽しみにしています...
2. Gecko: C++ で書かれたオープンソースのレンダリング エンジンで、強力な機能と豊富な機能を備え、多くの複雑な Web をサポートできます。ページ効果とブラウジング サーバー拡張インターフェース、FireFox が代表的で、w3c 標準を十分にサポートしており、開発とデバッグに非常に強力ですが、起動速度はあまり速くありません。
3 に基づいて Apple によって開発されました。 、Web ページを比較的高速に解析し、Presto よりも優れているのは This のみですが、耐障害性が比較的低く、標準以外の Web ページは正常に表示できません。コア開発に使用する代表的なブラウザは Safari と Chrome です。
4. Presto: Opera Software によって開始され、最速のレンダリング エンジンとして認識されています。 JS スクリプトなどのスクリプト言語を処理する場合、他のカーネルよりも約 3 倍高速になりますが、速度にいくつかの問題もあります。つまり、一部の Web ページの互換性が失われます。ブラウザについてある程度理解していることは、将来役立つでしょう。ブラウザの互換性の問題を解決することが役立つはずです。カーネルが異なればレンダリング エンジンも異なり、ページの解析も異なります。これがページの違いの理由です。しかし、合理化された HTML 構造を使用し、レイアウト時に CSS を合理的に使用するようにすると、互換性の問題を大幅に軽減し、開発効率を向上させることができます。
関連記事:
主流のブラウザカーネルとJSエンジンブラウザカーネルの概要php ブラウザカーネルのバージョンを取得する