ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript のマルチブラウザ互換性の問題と解決策_JavaScript スキル

Javascript のマルチブラウザ互換性の問題と解決策_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:38:58870ブラウズ
CSS のマルチブラウザ互換性の問題と解決策

1. document.formName.item(”itemName”) の問題

問題の説明: IE の場合、Firefox では document.formName.item("itemName") または document.formName.elements ["elementName"] を使用できますが、document.formName.elements["elementName"] のみを使用できます。
解決策: document.formName.elements["elementName"] を一律に使用します。

2. コレクション オブジェクトに関する問題

問題の説明: IE では () または [] を使用してコレクション オブジェクトを取得できます。 [ ] コレクション クラス オブジェクトを取得します。
解決策: コレクション オブジェクトを取得するには [] を一律に使用します。

3. カスタム属性の問題

問題の説明: IE では、通常の属性を取得するメソッドを使用するか、getAttribute() を使用できます。カスタム属性を取得するには、Firefox では getAttribute() を使用してのみカスタム属性を取得できます。
解決策: getAttribute() を通じてカスタム属性を取得します。

4. eval("idName") の問題

問題の説明: IE では、eval("idName") または getElementById("idName") を使用して、 ID が idName である HTML オブジェクトを取得します。Firefox では、ID が idName である HTML オブジェクトを取得するには getElementById("idName") のみを使用できます。
解決策: getElementById("idName") を一律に使用して、idName の ID を持つ HTML オブジェクトを取得します。

5. 変数名が HTML オブジェクトの ID と同じである問題

問題の説明: IE では、HTML オブジェクトの ID は次のようになります。ドキュメントの下位オブジェクトの変数名として直接使用されますが、Firefox では使用できません。Firefox では、HTML オブジェクト ID と同じ変数名を使用できますが、IE では使用できません。
回避策: document.idName の代わりに document.getElementById("idName") を使用します。エラーを減らすために、同じ HTML オブジェクト ID を持つ変数名を使用しないことをお勧めします。変数を宣言するときは、あいまいさを避けるために常に var キーワードを追加してください。

6. Const の問題

問題の説明: Firefox では、const キーワードまたは var キーワードを使用して定数を定義できます。定数を定義するための var キーワード。
解決策: var キーワードを一律に使用して定数を定義します。

7. input.type 属性の問題

問題の説明: IE では input.type 属性は読み取り専用ですが、Firefox では input.type 属性が使用されます。読み書き可能です。
解決策: input.type 属性を変更しないでください。変更する必要がある場合は、最初に元の入力を非表示にしてから、同じ位置に新しい入力要素を挿入します。

8. Window.event の問題

問題の説明: window.event は IE でのみ実行できますが、Firefox では実行できません。これは Firefox のイベントが原因である可能性があります。事件現場で使用された。
解決策: イベントが発生する関数にイベント パラメーターを追加し、関数本体で var myEvent = evt?evt:(window.event?window.event:null) を使用します (仮パラメーターが evt であると仮定します)
例:


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。