Homepage
» JavaScript
- Montag, 6. November 2006, 23:51
- Effektive Browsererkennung Internet Explorer
- Ich hatte es ja bereits vor geraumer Zeit bereits einmal angesprochen
, als ich die JavaScript Bibliothek IE7 von Dean Edwards
vorgestellt habe, dass man mit einer simplen Abfrage JavaScript nur für die Internet Explorer Familie ausführen kann.
Weil ich gerade mal wieder auf dieses Problem gestoßen bin (ich habe bei mir den Internet Explorer 7 noch nicht installiert, daher kann ich nur Aussagen zum IE6 treffen), will ich das ein für alle mal verewigen.
Der Trick hierbei ist das Anwenden von Condtional Comments, also etwas wie das hier
Im Einzelnen:
IE steht für Internet Explorer, klar.
Dahinter steht die Versionsnummer.
gte steht für greater-than oder eval, also größer-gleich
Auf gut Deutsch, dieser Code wird nur von einem Browser der Internet Explorer Familie ab Version 6 und höher ausgeführt.
Folgende Optionen sind möglich:
gte -> greater-than or eval
gt -> greater-than
lt -> less-than
lte -> less-than or eval
! -> NOT-Operator
Der Trick ist kein billiger Hack, sondern von Microsoft so gewollt. Weitere Informationen gibt es in der MSDN Developer Database in den Artikeln "Detecting Internet Explorer More Effectively
" und "About Conditional Comments
".
Andere Browser überlesen den Code einfach nur. Ach so, es wäre auch möglich jedweden HTML-Code damit nur auf dem IE auszuführen, wenn das denn einen Sinn ergibt.
- Montag, 7. August 2006, 14:17
- Richtiges Browserverhalten
- Um dem IE5 und dem IE6 die Webstandards ein bißchen näher zu bringen gibt es von Dean Edwards ein Script namens IE7
. Setzt man dieses ein, kann man auf die so genannten CSS-Hacks vollkommen verzichten, denn der IE hält die vom W3C erarbeiteten Standards ein.
Folgende Features erhält man:
- supports the following CSS selectors:
- namespace|selector
- parent > child
- adjacent + sibling
- adjacent ~ sibling
- [attr], [attr="value"], [attr~="value"] etc
- .multiple.classes (fixes bug)
- :hover, :active, :focus (for all elements)
- :first-child, :last-child, only-child, nth-child, nth-last-child
- :check, :disabled, :enabled
- :root, :empty, :contains(), :not()
- :before/:after/content:
- :lang()
- works with both HTML and XML documents
- supports imported style sheets
- preserves the cascade of the style sheet
- does not alter the document structure
- does not repeatedly query the DOM tree using JavaScript
- uses pure CSS to enforce style sheet rules
- supports the W3C box model in both standards and quirks mode
- supports fixed positioning (flicker free)
- supports overflow:visible
- supports min/max-width/height
- fixes broken (X)HTML elements (abbr, object)
- standardies forms behavior
- supports PNG alpha transparency
- lightweight script (22K)
- completely modular (add/remove fixes)
- works for Microsoft Internet Explorer 5+ (Windows only)
Der Nachteil ist natürlich, dass der Client JavaScript aktiviert haben muss. Wenn ich mir gerade Firmen ansehe, die nur den IE auf den Rechnern haben und Admins die Scripting generell deaktivieren...
Eingebunden wird das Ganze folgendermaßen:
Dies beruht auf einem Bug/Feature des IE namens Conditional Comments
. Der IE parst auch Code innerhalb eines Kommentars, andere Browser nicht. Das heißt, dass auch nur der IE diesen ausführt. [if lt IE 7] bedeutet, dass dieser Code nur von Browsern kleiner als IE7 ausgeführt werden soll. Dies kann man natürlich dementsprechend für die Version anpassen, die man braucht.
- Sonntag, 6. August 2006, 21:10
- JavaScript Email Validierung
- var test = 'testString';
if (!test.value.match(/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i)){
alert('not valid');
} else {
alert('valid');
}
- Freitag, 4. August 2006, 12:23
- JavaScript 1.7
- Alle Neuheiten zu JavaScript 1.7
gibt's auf der Seite des Mozilla Developer Centers.
- Mittwoch, 17. Mai 2006, 17:28
- AJAX im Überblick
- Die Seite ajax.solutoire.com sammelt Links zu Artikeln zu AJAX und JavaScript.
- Samstag, 13. Mai 2006, 01:00
- JavaScript Timestamp
- var timestamp = Date.parse(new Date());
- Montag, 1. Mai 2006, 22:56
- Google Maps API "Tutorial" Nr. 1
- Im Rahmen meines Diploms muss ich mich ja zwangsläufig mit der API von Google Maps beschäftigen. Dies werde ich gleich mal in ein Tutorial ummünzen, falls es Jemanden interessiert, kann er meine Schritte leicht nachvollziehen.
Ein Tutorial einerseits, damit ich für mich weiß, ob ich es verstanden habe, andererseits als Nachschlagewerk für mich selbst, während der Diplom Schreiberei.
Folgende Beispiele habe ich schon mal online:
- Einbinden einer Karte und Anlegen eines Markers
- Klicken in die Karte und Abfragen des Längen- und Breitengades
- Anlegen neuer Marker und Anzeige des Längen- und Breitengrades in einem Info Fenster
- Anzeige des Info Fensters bei mouseOver
- Anzeige des Info Fensters bei mouseOver
- "Google Maps API "Tutorial" Nr. 1" vollständig lesen




