Heim Web-Frontend js-Tutorial Unterschiede in der JavaScript-Syntax zwischen IE und Firefox_Javascript-Tipps

Unterschiede in der JavaScript-Syntax zwischen IE und Firefox_Javascript-Tipps

May 16, 2016 pm 03:04 PM
firefox ie javascript 差异 语法

Obwohl die historischen Tage von JavaScript, in denen lange und lästige Codeblöcke zur Ausrichtung auf bestimmte Browser verwendet wurden, vorbei sind, ist die gelegentliche Verwendung einiger einfacher Codeblöcke und der Objekterkennung immer noch notwendig, um sicherzustellen, dass ein Teil des Codes auf dem Computer des Benutzers ordnungsgemäß funktioniert.

In diesem Artikel werde ich kurz sieben Aspekte der JavaScript-Syntax zwischen Internet Explorer und Firefox skizzieren.

1. CSS-Attribut „float“

Die grundlegende Syntax zum Abrufen spezifischer CSS-Eigenschaften für ein bestimmtes Objekt ist die Eigenschaft object.style, und Eigenschaften mit Bindestrich werden durch die Kamelnotation ersetzt. Um beispielsweise das Attribut „Hintergrundfarbe“ eines Div mit der ID „header“ abzurufen, verwenden wir die folgende Syntax:

Code kopieren Der Code lautet wie folgt:
document.getElementById("header").style.borderBottom = "1px solid #ccc";

Aber da „float“ ein reserviertes Wort in JavaScript ist, können wir object.style.float nicht verwenden, um das „float“-Attribut abzurufen. So verwenden wir es in zwei Browsern:

IE-Syntax:

Code kopieren Der Code lautet wie folgt:
document.getElementById("header").style.styleFloat = "links";

Firefox-Syntax:

Code kopieren Der Code lautet wie folgt:
document.getElementById("header").style.cssFloat = "links";

2. Berechnungsstil der Elemente

Durch die Verwendung der oben genannten object.style.property kann JavaScript den festgelegten CSS-Stil des Objekts einfach abrufen und ändern. Die Einschränkung dieser Syntax besteht jedoch darin, dass sie nur Inline-Stile in HTML oder direkt mit JavaScript festgelegte Stile abrufen kann. Das Stilobjekt kann keine mit externen Stylesheets festgelegten Stile abrufen. Um den „berechneten Stil“ eines Objekts zu erhalten, verwenden wir den folgenden Code:

IE-Syntax:

var myObject = document.getElementById("header"); 
var myStyle = myObject.currentStyle.backgroundColor;
Nach dem Login kopieren

Firefox-Syntax:

var myObject = document.getElementById("header");
var myComputedStyle = document.defaultView.getComputedStyle(myObject, null);
var myStyle = myComputedStyle.backgroundColor;


Nach dem Login kopieren

3. Holen Sie sich das „class“-Attribut des Elements

Ähnlich wie beim „float“-Attribut verwenden die beiden Browser unterschiedliche JavaScript-Methoden, um dieses Attribut zu erhalten.

IE-Syntax:

var myObject = document.getElementById("header");
var myAttribute = myObject.getAttribute("className");
Nach dem Login kopieren

Firefox-Syntax:

var myObject = document.getElementById("header");
var myAttribute = myObject.getAttribute("class");


Nach dem Login kopieren

4. Holen Sie sich das „for“-Attribut des Label-Tags

Wie bei 3 gibt es auch unterschiedliche Syntaxen für die Verwendung von JavaScript, um das „for“-Attribut des Labels abzurufen.

IE-Syntax:

var myObject = document.getElementById("myLabel");
var myAttribute = myObject.getAttribute("htmlFor");
Nach dem Login kopieren

Firefox-Syntax:

var myObject = document.getElementById("myLabel");
var myAttribute = myObject.getAttribute("for");
Nach dem Login kopieren

Die gleiche Syntax wird für die setAtrribute-Methode verwendet.

5. Cursorposition ermitteln

Das Ermitteln der Cursorposition eines Elements ist selten. Wenn dies erforderlich ist, ist die Syntax von IE und Firefox unterschiedlich. Dieser Beispielcode ist ziemlich einfach und wird normalerweise als Teil vieler komplexer Ereignishandler verwendet. Er wird hier nur zur Beschreibung der Unterschiede verwendet. Beachten Sie, dass die Ergebnisse im IE anders sind als in Firefox, daher gibt es bei diesem Ansatz einige Probleme. Normalerweise kann dieser Unterschied durch Ermitteln der „Scroll-Position“ ausgeglichen werden – aber das ist ein Thema für einen anderen Artikel.

IE-Syntax:

var myCursorPosition = [0, 0];
myCursorPosition[0] = event.clientX;
myCursorPosition[1] = event.clientY;
Nach dem Login kopieren

Firefox-Syntax:

var myCursorPosition = [0, 0];
myCursorPosition[0] = event.pageX;
myCursorPosition[1] = event.pageY;
Nach dem Login kopieren

6. Ermitteln Sie die Größe des Fensters oder Browserfensters

Manchmal müssen Sie die Größe des effektiven Fensterbereichs des Browsers ermitteln, der normalerweise als „Fenster“ bezeichnet wird.

IE-Syntax:

var myBrowserSize = [0, 0];
myBrowserSize[0] = document.documentElement.clientWidth;
myBrowserSize[1] = document.documentElement.clientHeight;


Nach dem Login kopieren

Firefox-Syntax:

var myBrowserSize = [0, 0];
myBrowserSize[0] = window.innerWidth;
myBrowserSize[1] = window.innerHeight;


Nach dem Login kopieren

7. Alpha 透明

嗯,这其实不是 JavaScript 的语法项目 - alpha 透明是通过 CSS 来设置的。但是当对象通过 JavaScript 设置为淡入淡出时,这就需要通过获取 CSS 的 alpha 设定来实现,一般是在循环内部。要通过以下 JavaScript 来改变 CSS 代码:

IE 语法:

 #myElement {
filter: alpha(opacity=50);
}
Nach dem Login kopieren

Firefox 语法:

 #myElement {
opacity: 0.5;
}
Nach dem Login kopieren

要使用 JavaScript 获取这些值,需要使用 style 对象:

IE 语法:

var myObject = document.getElementById("myElement");
myObject.style.filter = "alpha(opacity=80)";


Nach dem Login kopieren

Firefox 语法:

var myObject = document.getElementById("myElement");
myObject.style.opacity = "0.5";


Nach dem Login kopieren

当然,已经说到了,一般是在循环中间来改变 opcity/alpha,来创建动画效果,但这这是个简单的例子,只是为了明白地描述方法是如何实现地。

7个方面在JavaScript语法上不同的点,希望对大家的学习有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie entferne ich Firefox Snap unter Ubuntu Linux? Wie entferne ich Firefox Snap unter Ubuntu Linux? Feb 21, 2024 pm 07:00 PM

Um FirefoxSnap unter Ubuntu Linux zu entfernen, können Sie die folgenden Schritte ausführen: Öffnen Sie ein Terminal und melden Sie sich als Administrator bei Ihrem Ubuntu-System an. Führen Sie den folgenden Befehl aus, um FirefoxSnap zu deinstallieren: sudosnapremovefirefox Sie werden zur Eingabe Ihres Administratorkennworts aufgefordert. Geben Sie Ihr Passwort ein und drücken Sie zur Bestätigung die Eingabetaste. Warten Sie, bis die Befehlsausführung abgeschlossen ist. Sobald der Vorgang abgeschlossen ist, wird FirefoxSnap vollständig entfernt. Beachten Sie, dass dadurch Versionen von Firefox entfernt werden, die über den Snap-Paketmanager installiert wurden. Wenn Sie eine andere Version von Firefox auf andere Weise installiert haben (z. B. über den APT-Paketmanager), sind Sie davon nicht betroffen. Führen Sie die oben genannten Schritte durch

Ausführlicher Vergleich: Analyse der Unterschiede zwischen Dimensity 8200 und Snapdragon Ausführlicher Vergleich: Analyse der Unterschiede zwischen Dimensity 8200 und Snapdragon Mar 22, 2024 pm 12:48 PM

Im Zeitalter des mobilen Internets stand die Leistung von Mobiltelefonen schon immer im Fokus der Nutzer. Als Marktführer auf dem Markt für Mobiltelefonchips haben MediaTek und Qualcomm mit ihren Chips auch die Aufmerksamkeit der Verbraucher auf sich gezogen. Kürzlich hat MediaTek den Dimensity 8200-Chip auf den Markt gebracht, während Qualcomm seine repräsentativen Chips der Snapdragon-Serie hat. Was sind also die Unterschiede zwischen diesen beiden Chips? In diesem Artikel wird eine eingehende Vergleichsanalyse zwischen Dimensity 8200 und Snapdragon durchgeführt. Aus prozesstechnischer Sicht nutzt Dimensity 8200 zunächst die neueste 6-nm-Prozesstechnologie, während einige von Qualcomm Snapdragons verwendet werden

Was soll ich tun, wenn Win11 den IE11-Browser nicht verwenden kann? (win11 kann den IE-Browser nicht verwenden) Was soll ich tun, wenn Win11 den IE11-Browser nicht verwenden kann? (win11 kann den IE-Browser nicht verwenden) Feb 10, 2024 am 10:30 AM

Immer mehr Benutzer beginnen mit der Aktualisierung des Win11-Systems. Da jeder Benutzer unterschiedliche Nutzungsgewohnheiten hat, verwenden viele Benutzer immer noch den IE11-Browser. Was soll ich also tun, wenn das Win11-System den IE-Browser nicht verwenden kann? Unterstützt Windows11 immer noch ie11? Werfen wir einen Blick auf die Lösung. Lösung des Problems, dass Win11 den ie11-Browser nicht verwenden kann 1. Klicken Sie zunächst mit der rechten Maustaste auf das Startmenü und wählen Sie „Eingabeaufforderung (Administrator)“, um es zu öffnen. 2. Geben Sie nach dem Öffnen direkt „Netshwinsockreset“ ein und drücken Sie zur Bestätigung die Eingabetaste. 3. Geben Sie nach der Bestätigung „netshadvfirewallreset&rdqu“ ein

Interpretation der Unterschiede zwischen den Versionen Oracle11g und Oracle12c Interpretation der Unterschiede zwischen den Versionen Oracle11g und Oracle12c Mar 07, 2024 pm 02:30 PM

Oracle Database war schon immer einer der führenden Anbieter von Datenbankverwaltungssystemen für Unternehmen, und auch seine kontinuierlich aktualisierten und iterativen Versionen haben große Aufmerksamkeit erregt. Unter diesen sind die Versionen Oracle11g und Oracle12c relativ repräsentative Versionen und weisen viele Unterschiede auf. In diesem Artikel werden einige wichtige Unterschiede zwischen Oracle11g und Oracle12c erläutert und spezifische Codebeispiele beigefügt, um den Lesern ein tieferes Verständnis der Unterschiede zwischen den beiden Versionen zu vermitteln. 1. Architekturunterschiede Oracle1

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Was sind die Syntax- und Strukturmerkmale von Lambda-Ausdrücken? Was sind die Syntax- und Strukturmerkmale von Lambda-Ausdrücken? Apr 25, 2024 pm 01:12 PM

Der Lambda-Ausdruck ist eine anonyme Funktion ohne Namen und seine Syntax lautet: (parameter_list)->Ausdruck. Sie zeichnen sich durch Anonymität, Vielfalt, Currying und Schließung aus. In praktischen Anwendungen können Lambda-Ausdrücke verwendet werden, um Funktionen prägnant zu definieren, beispielsweise die Summationsfunktion sum_lambda=lambdax,y:x+y, und die Funktion map() auf die Liste anzuwenden, um die Summationsoperation durchzuführen.

So brechen Sie den automatischen Sprung zu Edge ab, wenn Sie den IE in Win10_Solution öffnen, um zum automatischen Sprung der IE-Browserseite zu gelangen So brechen Sie den automatischen Sprung zu Edge ab, wenn Sie den IE in Win10_Solution öffnen, um zum automatischen Sprung der IE-Browserseite zu gelangen Mar 20, 2024 pm 09:21 PM

In letzter Zeit haben viele Win10-Benutzer festgestellt, dass ihr IE-Browser bei der Verwendung von Computerbrowsern immer automatisch zum Edge-Browser springt. Wie kann man also den automatischen Sprung zum Edge beim Öffnen des IE in Win10 deaktivieren? Lassen Sie diese Website den Benutzern sorgfältig vorstellen, wie sie beim Öffnen des IE in Win10 automatisch zum Rand springen und schließen. 1. Wir melden uns beim Edge-Browser an, klicken auf ... in der oberen rechten Ecke und suchen nach der Dropdown-Einstellungsoption. 2. Nachdem wir die Einstellungen eingegeben haben, klicken Sie in der linken Spalte auf Standardbrowser. 3. Abschließend aktivieren wir in der Kompatibilität das Kontrollkästchen, um ein erneutes Laden der Website im IE-Modus zu verhindern, und starten den IE-Browser neu.

So lösen Sie das Problem, dass die IE-Verknüpfung nicht gelöscht werden kann So lösen Sie das Problem, dass die IE-Verknüpfung nicht gelöscht werden kann Jan 29, 2024 pm 04:48 PM

Lösungen für IE-Verknüpfungen, die nicht gelöscht werden können: 1. Berechtigungsprobleme; 3. Softwarekonflikte; 6. IE-Probleme; 9. Überprüfen Sie den Zielpfad der Verknüpfung. 10. Berücksichtigen Sie andere Faktoren. 11. Wenden Sie sich an Fachleute. Detaillierte Einführung: ​1. Klicken Sie mit der rechten Maustaste auf die Verknüpfung, wählen Sie „Eigenschaften“ und stellen Sie sicher, dass Sie über ausreichende Berechtigungen zum Löschen der Verknüpfung verfügen. Wenn nicht, können Sie versuchen, die Verknüpfung auszuführen usw .

See all articles