1. Dokument.FormName.Item ("itemName") Problembeschreibung: Unter IE können Sie document.formName.item ("itemName") oder document.formName.elements ["elementname"] verwenden; document.formName.item ("itemName") oder document.formName.elements ["elementname"]; . 2. Beschreibung des Problems des Sammlungsklassenobjekts: In IE können Sie () oder [] in Firefox eine Sammlungsklasse erhalten. 3. Benutzerdefinierte Attributprobleme Beschreibung: In IE können Sie die Methode zum Erhalten von regelmäßigen Attributen verwenden, um benutzerdefinierte Attribute zu erhalten, oder Sie können GetAttribute () verwenden, um benutzerdefinierte Attribute zu erhalten. . 4. Eval ("IDNAME") Problembeschreibung: In IE können Sie Eval ("IDName") oder GetElementById ("IDName") verwenden, um HTML -Objekt mit IDNAME zu erhalten. Um das HTML -Objekt mit ID als IDName zu erhalten. 5. Problem mit demselben Variablennamen wie die HTML -Objekt -ID: Unter IE kann die ID des HTML -Objekts direkt als variabler Name des untergeordneten Objekts des Dokuments verwendet werden, jedoch nicht in Firefox; Die HTML -Objekt -ID kann verwendet werden. 6. const Problem Beschreibung: Unter Firefox können Sie das Schlüsselwort const oder das VAR -Schlüsselwort verwenden, um Konstanten zu definieren. 7. Beschreibung des Problems des Eingabes. 8. window.event Problem Beschreibung: window.event kann nur unter IE, nicht unter Firefox, laufen, da das Firefox -Ereignis nur in der Szene verwendet werden kann, in der das Ereignis auftritt. Programmcode 10. Ereignis.Srcelement Problem Beschreibung: Unter IE verfügt das gleichmäßige Objekt über eine Srcelement -Eigenschaft, aber keine Zieleigenschaft; 11. Window.Location.HREF Problem Beschreibung: Unter IE oder Firefox2.0.x können Sie Window.Location oder Window.Location.HREF verwenden; 12. Beschreibung von modalen und nicht modalen Fensterproblemen: Unter IE können modale und nicht modale Fenster durch Showmodaldialog und ShowmodelessDialog geöffnet werden. Dreizehn. 14. Problembeschreibung Beschreibung: Das Körperobjekt von Firefox existiert, bevor das Body -Tag vollständig vom Browser gelesen wird. 15. Beschreibung der Ereignisdelegationsmethode: Verwenden Sie in IE Dokument.Onload = Inject; 16. Offenlegung der Differenz zwischen den zugegriffenen übergeordneten Elementen: Verwenden Sie in IE den übergeordneten Knoten von Obj.Parentelement oder Obj.Parentnode. 17. Cursor: Hand gegen Cursor: Zeiger 18. Das Problem des InnerText. Programmcode 19. Beschreibung des Problems der Objektbreite und der Höhenzuweisung: Die Anweisung ähnlich wie obj.style.height = imgobj.height in Firefox ist ungültig. 20. Problembeschreibung: IE, Firefox und andere Browser haben unterschiedliche Operationen auf Tabellen -Tags. 21. Wenn das Eindrückungsproblem von UL- und OL-Listen beseitigt wird, sollte der Stil als: Listenstil geschrieben werden: keine; 22. CSS -Transparenzproblem IE: Filter: Progid: DimaMagetransform.Microsoft.Alpha (Style = 0, Opazität = 60). 23. CSS Runded Corner Problem IE: Die folgenden Versionen von IE7 unterstützen keine abgerundeten Ecken. Es gibt zu viele Fragen zu CSS, und selbst dieselben CSS -Definitionen haben unterschiedliche Anzeigeneffekte in verschiedenen Seitenstandards. Ein geeigneter Vorschlag ist, dass die Seite im Standard -DHTML -Standard geschrieben ist und die Verwendung von Tabellen selten verwendet wird. Opera wird ebenfalls berücksichtigt. Übrigens sind in vielen Fällen die CSS -Interpretationsstandards von FF und Oper näher an den CSS -Standards und standardisierter.
Lösung: Verwenden Sie document.formName.elements ["elementname"] auf einheitliche Weise.
Lösung: Verwenden Sie [], um Einheitliche Klassenobjekte auf einheitliche Weise zu erhalten.
Problemumgehung: Erhalten Sie einheitlich benutzerdefinierte Attribute über getAtTribute ().
Lösung: Verwenden Sie GetElementById ("IDName"), um das HTML -Objekt mit ID als IDName zu erhalten.
Problemumgehung: Verwenden Sie document.getElementById ("idName") anstelle von document.idname. Es ist am besten, keine Variablennamen mit derselben HTML -Objekt -ID zu nehmen, um Fehler zu reduzieren.
Lösung: Verwenden Sie das VAR -Schlüsselwort, um Konstanten einheitlich zu definieren.
Lösung: Ändern Sie nicht die Eigenschaft Eingabe.typ. Wenn Sie es ändern müssen, können Sie zuerst die ursprüngliche Eingabe ausblenden und dann ein neues Eingangselement in derselben Position einfügen.
Lösung: Fügen Sie der Funktion, in der das Ereignis auftritt, Ereignisparameter hinzu und verwenden Sie var myevent = evt? Evt: (window.event? Window.event: null)
Beispiel:
<input type = "button" onclick = "dosomething (Ereignis)"/>
<script Language = "JavaScript">
Funktion Dosen (evt) {
var myevent = evt? evt: (window.event? window.event: null)
...
}
</script>
9. Ereignis.x und Ereignis.
Lösung: var myx = event.x?
Wenn Sie das 8. Problem berücksichtigen, verwenden Sie einfach MyEvent anstelle von Ereignis.
Lösung: Verwenden Sie srcobj = event.srcelement?
Wenn Sie das 8. Problem berücksichtigen, verwenden Sie einfach MyEvent anstelle von Ereignis.
Problemumgehung: Verwenden Sie Window.location anstelle von window.location.href. Natürlich können Sie auch in Betracht ziehen, die Methode von Ort.Replace () zu verwenden.
Lösung: Verwenden Sie Window.open (Pageurl, Name, Parameter), um ein neues Fenster zu öffnen.
Wenn Sie die Parameter im untergeordneten Fenster zurück zum übergeordneten Fenster übergeben müssen, können Sie das Fenster verwenden. Opener im untergeordneten Fenster, um auf das übergeordnete Fenster zuzugreifen. Wenn das übergeordnete Fenster das untergeordnete Fenster steuern muss, verwenden Sie var subwindow = window.open (Pageurl, Name, Parameter), um das neu geöffnete Fensterobjekt zu erhalten.
<Frame Src = "http://www.abc.com/123.html" id = "Framid" name = "Framename"/>
(1) Greifen Sie auf das Frame -Objekt zu, dh: Verwenden Sie das Fenster.
Firefox: Verwenden Sie Window.framename, um auf dieses Frame -Objekt zuzugreifen.
Lösung: Verwenden Sie Window.Document.
(2) Switch -Rahmeninhalt in IE und Firefox können Sie window.document.getElementById ("FrameID") verwenden. e;
Wenn Sie die Parameter im Rahmen zurück an das übergeordnete Fenster übergeben müssen, können Sie das übergeordnete Schlüsselwort im Rahmen verwenden, um auf das übergeordnete Fenster zuzugreifen.
[Hinweis] Dieses Problem wurde noch nicht überprüft und wird nach der Überprüfung geändert.
[Anmerkung] Es wurde nachgewiesen, dass die obigen Probleme in IE6, Opera9 und Firefox2 nicht vorhanden sind.
Lösung: Verwenden Sie das Dokument.
[Hinweis] Der Unterschied zwischen Funktion und Funktion
Lösung: Da sowohl Firefox als auch IE DOM unterstützen, wird Obj.Parentnode verwendet, um auf den übergeordneten Knoten von Obj zuzugreifen.
Problembeschreibung: Firefox unterstützt keine Hand, aber der IE unterstützt Zeiger, beide sind handförmige Indikatoren.
Lösung: Verwenden Sie Zeiger einheitlich.
Problembeschreibung: InnerText funktioniert im IE ordnungsgemäß, aber InnerText funktioniert nicht in Firefox.
Problemumgehung: Verwenden Sie TextContent anstelle von InnerText in Nicht-IE-Browsern.
Beispiel:
if (navigator.appname.indexof ("explorer")> -1) {
document.GetElementById ('Element'). InnerText = "Mein Text";
} anders{
document.getElementById ('Element'). textContent = "Mein Text";
}
[Anmerkung] Innerhtml wird von Browsern wie IE und Firefox unterstützt.
Lösung: Verwenden Sie obj.style.height = imgobj.height + 'px' in Uniform;
Lösung:
Programmcode
// Fügen Sie der Tabelle eine leere Zeile hinzu:
var row = otable.insertrow (-1);
var cell = document.createelement ("td");
cell.innerhtml = "";
cell.className = "xxxx";
Row.AppendChild (Zelle);
[Anmerkung] Da ich JS selten verwende, um Tabellen direkt zu bedienen, habe ich dieses Problem noch nie gestoßen. Es wird empfohlen, JS -Framework -Sets zu verwenden, um Tabellen wie JQuery zu manipulieren.
Das Margin -Attribut gilt für den IE und das Padding -Attribut gilt für Firefox. ← Dieser Satz ist falsch. Weitere Informationen finden Sie ↓
[Hinweis] Dieses Problem wurde noch nicht überprüft und wird nach der Überprüfung geändert.
[Anmerkung] bewiesen, dass in IE den Rand einstellen: 0px kann die Aufwärts-, linke und rechte Eindrückung, Listennummer oder Punkte der Liste entfernen, und das Setzen von Polsterung hat keinen Einfluss auf den Stil. 0PX kann den Leerzeichen nur nach oben und unten entfernen, kann nach der Einstellung der Polsterung nur die linke und rechte Eindrücke entfernen: 0PX. Mit anderen Worten, in IE können Sie den endgültigen Effekt erzielen, indem Sie einfach Rand einstellen: 0PX, Polsterung: 0PX und Listenstil: Keine muss zur gleichen Zeit in Firefox festgelegt werden, um den endgültigen Effekt zu erzielen.
FF: Deckkraft: 0,6.
[Hinweis] Es ist am besten, beide zu schreiben und das unten stehende Depazitätsattribut zu platzieren.
FF: -Moz-Border-Radius: 4px oder -moz-Border-Radius-Topleft: 4px; - RADIUS-BOTORRAUT: 4PX;.
[Hinweis] Das abgerundete Eckproblem ist ein klassisches Problem in CSS.