ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript)、およびブラウザ ハックに他なりません。 スタイルの互換性 (css) (1) 歴史的な理由により、ブラウザによってスタイルが異なります。Normalize.css を使用して違いを解消したり、ワイルドカードセレクタを使用してスタイルをグローバルにリセットするなど、独自の reset.css をカスタマイズしたりできます。 * { マージン: 0; パディング: 0; } (2)CSS3が真の標準になる前に、ブラウザメーカーはこれらのプロパティの使用をサポートし始めました。 CSS3 スタイルの構文がまだ不安定だった頃、ブラウザの製造元はブラウザ プレフィックスを提供していましたが、現在でも一部のプロパティはブラウザ プレフィックスを使用して追加する必要があります。開発プロセスでは、通常、IDE 開発プラグイン、CSS プリプロセッサ、フロントエンドの自動ビルド プロジェクトを使用します。 ブラウザカーネルとプレフィックスの対応は次のとおりです。
相互運用性 (javascript) (1)イベントの互換性の問題:通常、イベントハンドルのバインディング、削除、バブル防止、およびデフォルトのイベント動作処理をフィルタリングするためのアダプタメソッドをカプセル化する必要がある。 var ヘルパー = {} // イベントのバインド helper.on = function(target, type, handler) { ターゲットにイベントリスナーを追加します target.addEventListener(タイプ、ハンドラー、false); } それ以外 { target.attachEvent("on" + タイプ, 関数(イベント) { handler.call(target, event) を返します。 }、 間違い); } }; //イベントリスニングをキャンセル helper.remove = function(target, type, handler) { ターゲットイベントリスナーを削除する場合 target.removeEventListener(タイプ、ハンドラー); } それ以外 { target.detachEvent("on" + タイプ, 関数(イベント) { handler.call(target, event) を返します。 }、 真実); } }; (2)new Date()コンストラクタを使用する場合、各種ブラウザでnew Date(str)を使用して「2019-12-09」を正しく生成することができません。 正しい使い方は「2019/12/09」です。 (3)Chrome以外のブラウザと互換性のあるdocument.documentElement.scrollTopを介してscrollTopを取得する var scrollTop = document.documentElement.scrollTop||document.body.scrollTop; ブラウザハック (1)IEブラウザのバージョンを素早く確認する <!--[IE 8の場合]> ie8 <![endif]--> <!--[if IE 9]> クールな IE9 ブラウザ<![endif]--> (2)Safariブラウザかどうか確認する /* サファリ */ var isSafari = /a/.__proto__=='//'; (3)Chromeブラウザかどうか確認する /* クローム */ var isChrome = Boolean(window.chrome); 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: jsを呼び出すいくつかの方法が整理され、使用が推奨されています
>>: JavaScript のガベージコレクションの仕組みの詳細な説明
目次1. シナリオ2. 解決策3. 結論4. 参考文献1. シナリオ日常の開発およびテスト作業には ...
導入MySQL はレプリケーションを通じてストレージ システムの高可用性を実現します。現在、MySQ...
背景ご存知のとおり、nginx は高性能な Web サーバーであり、負荷分散やリバース プロキシによ...
目次概要プロパティ設定処理ロジック概要具体的な需要シナリオは次のとおりです。 Excel ファイルを...
なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...
1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...
序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...
MySQLリモート接続の問題に関しては、会社で働いているときに誰かのコンピュータに保存されているMy...
Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...
序文:多くのビジネス テーブルでは、歴史的またはパフォーマンス上の理由により、最初のパラダイムに違反...
序文この記事では、Vue コンポーネントがどのように解析され、レンダリングされるかを説明します。 V...
目次1. 従来のコレクションに対するフィルター、マップ、および削減処理方法2. 再帰処理3. for...
Linuxでタイムゾーンを変更する場合、常に変更することはできませんAsia/Shanghai に変...
問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...
この記事では、ショッピングカートを実装するためのJavaScriptの具体的なコードを参考までに紹介...