Cross-Browser
Cross-Browser bezeichnet die Fähigkeit von in Webseiten eingebetteten Inhalten (insbesondere Cascading Style Sheets (CSS) und JavaScript), unabhängig vom jeweiligen Browsertyp und Betriebssystem die gleiche Ausgabe zu erzeugen beziehungsweise sich weitestgehend identisch zu verhalten.
Einhaltung von Webstandards
Die Notwendigkeit für Cross-Browser-Fähigkeiten ist historisch gewachsen und stammt zum einen Teil aus der Zeit des Browserkrieges zwischen Microsoft und Netscape und zum anderen Teil aus der unterschiedlichen Interpretation diverser Standards in marktführenden Browsern. Zudem spielt der Wunsch vieler Webdesigner und -entwickler nach pixelgenauer Positionierung einzelner Elemente eine große Rolle.
Problematik
Das Ergebnis sind Webseiten, die nur auf bestimmten Browsern das gewünschte Ergebnis liefern, während sie auf dem Browser eines anderen Herstellers unschöne Darstellungsfehler aufweisen oder im schlimmsten Fall nicht funktionieren.
Als Konsequenz müssen sich Webdesigner darum bemühen, ihre Inhalte auf allen wichtigen Browsern lauffähig zu halten, welches mitunter ein aufwändiges Unterfangen nach der Versuch-und-Irrtum-Methode sein kann.
Aussicht
Mit dem DOM, einem Standardobjektmodell des W3C, wurde ein erheblicher Schritt in eine einheitliche Richtung gegangen, jedoch gibt es noch starke Differenzen und Unzulänglichkeiten insbesondere bei der Kodierung von Events.[1]
Beispiele
Um die nachfolgenden Code-Beispiele zu verstehen, sind Grundkenntnisse in HTML und JavaScript nötig.
JavaScript
<div id="sample" style="position: absolute; top: 100px; left: 100px;">Beispieltext</div>
Der Code beschreibt einen Textblock, der in der linken oberen Ecke der Webseite 100 Pixel vom oberen und 100 Pixel linken Rand angezeigt werden soll. In den Browsern der 4er Serie des Netscape Navigators könnte man diesen Textblock mit JavaScript nachträglich verschieben:
document.layers['sample'].left = 200;
Dieser Code würde jedoch im Internet Explorer 4 nicht funktionieren. Stattdessen müsste man folgende Notation verwenden:
document.all['sample'].style.left = 200;
Um den Code cross-browser-fähig zu gestalten, müsste er also folgendermaßen aussehen:
if (document.all) document.all['sample'].style.left = 200; else if (document.layers) document.layers['sample'].left = 200;
Der folgende Code benutzt das DOM, ein Standardmodell des W3C das von allen modernen Browsern unterstützt wird (z. B. Mozilla Firefox, Internet Explorer, Opera, Apple Safari usw.):
document.getElementById('sample').style.left = '200px';
Cascading Stylesheets
Der folgende Code bewirkt eine Mindesthöhe in Block-Elementen:
<div style="min-height: 200px;">Beispieltext</div>
Der Internet Explorer bis einschließlich Version 6 interpretiert die Angabe min-height fehlerhaft oder gar nicht, weshalb sich die Größe des Elements in diesen Browsern nach dem Inhalt richtet.
Folgende Angaben beschreiben die Größe und den Abstand eines div-Elements:
<div style="width: 200px; height:50px; padding: 10px; border: 5px solid red;">Beispieltext</div>
Auch hier kann der Internet Explorer aufgrund des Box-Modell-Bugs das div-Element nicht korrekt darstellen, wenn das Dokument im Quirks-Modus gerendert wird: Entgegen der Spezifikation beträgt die Gesamtbreite in den betroffenen Browsern 200 Pixel (korrekt wäre eine Elementgesamtbreite von 230px).
Siehe auch
Weblinks
- QuirksMode – Unterschiede moderner Webbrowser, und Möglichkeiten, diese zu umgehen.
- X – JavaScript-Bibliothek mit vielen Demos.
- Crosscheck – JavaScript-Modultest-Framework, das Browserumgebungen für eine Vielzahl von Plattformen simuliert.
- BrowseEmAll – Desktopanwendung, welche das Testen in vielen Browsern und auf mobilen Endgeräten ermöglicht.
- Equafy – Cross-Browser-Test auf verschiedenen Browsern, Plattformen und Bildschirmauflösungen. Cloud-basiert.
Einzelnachweise
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.