1。document.formname.item( "itemname")問題説明:IEでは、document.formname.item( "itemname")またはdocument.formname.elements ["elementname"]を使用できますdocument.formname.item( "itemname")またはdocument.formname.elements ["elementname"]; 。 2。コレクションクラスの問題の説明:IEでは、()または[]を使用して、[]クラスオブジェクトを使用して[]を使用してコレクションクラスオブジェクトを取得できます。 3.カスタム属性の問題説明:IEでは、通常の属性を取得する方法を使用して、getattribute()を使用してfirefoxで、getattribute()を使用してカスタム属性を取得できます。 。 4. eval( "idname")問題説明:IEでは、eval( "idname")またはgetElementById( "idname")を使用して、firefoxでHTMLオブジェクトを取得できます。 IDとしてIDを使用してHTMLオブジェクトを取得します。 5。HTMLオブジェクトIDと同じ変数名の問題:IEでは、HTMLオブジェクトのIDは、ドキュメントの下位オブジェクトの変数名として直接使用できますが、FirefoxではそうではありませんHTMLオブジェクトIDを使用できます。 6. constの問題の説明:Firefoxでは、constキーワードまたはvarキーワードを使用して定数を定義できます。 7。入力の問題の説明属性:IEの下のinput.type属性は読み取り専用です。 8。window.eventの問題説明:window.eventは、FirefoxではなくIEでのみ実行できます。Firefoxイベントは、イベントが発生するシーンでのみ使用できるためです。 プログラムコード 10。event.srcelementの問題説明:IEでは、均一なオブジェクトにはsrcelementプロパティがありますが、ターゲットプロパティはありません。 11。windocy.location.hrefの問題説明:IEまたはfirefox2.0.xでは、windocy.locationまたはwindow.location.hrefを使用できます。 12。モーダルと非モーダルのウィンドウの説明:IEの下では、モーダルと非モーダルのウィンドウをshowmodaldialogとshowmodelessdialogを通じて開くことができます。 13のフレームの問題は次のとおりです。 14。ボディロードの問題の説明:ボディタグがブラウザによって完全に読み取られる前にFirefoxのボディオブジェクトが存在します。 15.イベント委任方法の説明:IEでは、document.body.onload = inject()を使用して、document.body.onload()を使用しています。 16.アクセスされた親要素間の違いの開示:obj.parentelementまたはobj.parentnodeを使用して、objの親ノードにアクセスします。 17。カーソル:ハンド対カーソル:ポインター 18。Innertextの問題。 プログラムコード 19.オブジェクトの幅と高さの割り当ての問題の説明:obj.style.height = imgobj.height in firefoxに類似したステートメントは無効です。 20。テーブル操作の説明:IE、Firefox、およびその他のブラウザは、IEで異なる操作を行います。 21. ULおよびOLリストのインデントの問題が削除される場合、リストスタイル:なし:0px; 22。CSS透明性の問題IE:フィルター:progid:dmimagetransform.microsoft.alpha(style = 0、ofacity = 60)。 23。CSS丸い角の問題IE:IE7の次のバージョンは、丸い角をサポートしていません。 CSSについてはあまりにも多くの質問があり、同じCSS定義でさえ、異なるページ標準で異なる表示効果があります。適切な提案は、ページが標準のDHTML標準で記述されており、テーブルの使用はめったに使用されないことです。オペラも考慮されています。ところで、多くの場合、FFとオペラのCSS解釈基準はCSS基準に近く、より標準化されています。
解決策:document.formname.elements ["elementname"]を統一された方法で使用します。
解決策:[]を使用して、統一された方法でコレクションクラスオブジェクトを取得します。
回避策:getattribute()を介してカスタム属性を均一に取得します。
解決策:getElementByID( "IDNAME")を使用して、IDNAMEとしてIDを使用してHTMLオブジェクトを取得します。
回避策:document.idnameの代わりにdocument.getElementByID( "idname")を使用します。同じHTMLオブジェクトIDを使用して変数名を使用して、変数を宣言する場合は、曖昧さを避けるためにVARキーワードを追加しないことが最善です。
解決策:VARキーワードを使用して、定数を均一に定義します。
解決策:input.typeプロパティを変更しないでください。変更する必要がある場合は、最初に元の入力を非表示にしてから、同じ位置に新しい入力要素を挿入できます。
解決策:イベントが発生する関数にイベントパラメーターを追加し、var myevent = evt?evt :( window.event?window.event:nullを使用します)
例:
<input type = "button" onclick = "dosomething(event)"/>
<スクリプト言語= "javascript">
function dosomathe(evt){
var myevent = evt?evt :( window.event?window.event:null)
...
}
</script>
9. event.xおよびevent.yの問題説明:IEの下では、均一なオブジェクトにはxとyの属性がありますが、firefoxの下では、偶数のオブジェクトにはpagexとy属性がありません。
解決策:var myx = event.x:bar myy = event.y?
8番目の号を検討する場合は、イベントの代わりにMyEventを使用してください。
解決策:srcobj = event.srcelement.srcelement:event.targetを使用します。
8番目の号を検討する場合は、イベントの代わりにMyEventを使用してください。
回避策:window.location.hrefの代わりにwindow.locationを使用します。もちろん、location.replace()メソッドの使用を検討することもできます。
解決策:window.open(pageurl、name、parameters)を使用して、新しいウィンドウを開きます。
子ウィンドウのパラメーターを親ウィンドウに戻す必要がある場合は、window.openerを使用して親ウィンドウにアクセスできます。親ウィンドウが子のウィンドウを制御する必要がある場合は、var subwindow = window.open(pageurl、name、パラメーター)を使用します。
<frame src = "http://www.abc.com/123.html" id = "frameid" name = "framename"/>
(1)フレームオブジェクトへのアクセスIE:window.frameidまたはwindow.framenameを使用して、このフレームオブジェクトにアクセスします。
Firefox:Window.FramEnameを使用して、このフレームオブジェクトにアクセスします。
解決策:window.document.getelementbyid( "frameid")を使用して、このフレームオブジェクトにアクセスします。
(2)IEとFirefoxの両方でフレームコンテンツを切り替えると、window.document.getelementbyid( "frameid")。src = "index.html"またはwindow.framename.location = "index.html"を使用して、fram内容を切り替えることができます。 e;
フレーム内のパラメーターを親ウィンドウに戻す必要がある場合は、フレームの親キーワードを使用して親ウィンドウにアクセスできます。
[注]この問題はまだ実際に検証されておらず、検証後に変更されます。
[注]上記の問題は、IE6、Opera9、およびFirefox2に存在しないことが証明されています。
解決策:document.body.onload = new function( 'inject()');
[注]関数と関数の違い
解決策:FirefoxとIEの両方がDOMをサポートするため、OBJ.ParentNodeはOBJの親ノードにアクセスするために使用されます。
問題の説明:Firefoxは手をサポートしていませんが、IEはポインターをサポートします。どちらも手型の指標です。
解決策:ポインターを統一された方法で使用します。
問題の説明:InerTextはIEで適切に機能しますが、InnerTextはFirefoxでは機能しません。
回避策:非IEブラウザでInnertextの代わりにTextContentを使用します。
例:
if(navigator.appname.indexof( "explorer")> -1){
document.getElementById( 'element')。innertext = "my text";
} それ以外{
document.getElementById( 'element')。textContent = "my text";
}
[注] InnerHtmlは、IEやFirefoxなどのブラウザによってサポートされています。
解決策:obj.style.height = imgobj.height + 'px'をユニフォームで使用します。
解決:
プログラムコード
//テーブルに空白行を追加します:
var row = otable.insertrow(-1);
var cell = document.createelement( "td");
cell.innerhtml = "";
cell.classname = "xxxx";
row.AppendChild(Cell);
[注] JSを使用してテーブルを直接操作することはめったにないため、この問題に遭遇したことはありません。 JS Frameworkセットを使用して、JQueryなどのテーブルを操作することをお勧めします。
マージン属性はIEで有効であり、パディング属性はFirefoxに対して有効です。 ←この文は間違っています。詳細については、↓を参照してください
[注]この問題はまだ実際に検証されておらず、検証後に変更されます。
[注] IEでは、マージンの設定:0PXは、アップ、ダウン、左、右のインデント、リストのリスト番号またはドットを削除し、パディングの設定はStyleの設定に影響を与えません。 0PXは、ブランクスペースを上下に削除することができます。パディングを設定した後の左と右のインデントのみを削除できます。言い換えれば、IEでは、マージンを設定するだけで最終効果を達成できます:0px、パディング:0px、リストスタイル:最終効果を達成するためにFirefoxで同時に設定する必要はありません。
FF:不透明:0.6。
[注]両方を書いて、不透明な属性を以下に配置するのが最善です。
FF:-Moz-Border-Radius:または-Moz-Border-Radius-Radius-Topright; -radius- bottomright:4px;。
[注]丸い角の問題は、CSSの古典的な問題です。