|
|||
mit JS CSS Hacks ansprechen
Hi
Ich bin grad dabei ein Projekt von einem Freund auszubauen - Problem ist dabei dass ich mittels JS eine CSS-Eigenschaft ändern muss (width) die für IE6 IE7 und FF unterschiedliche Werte hat. Im Ursprungs-CSS ist das ganze mit CSS-Hacks gelöst (*html, :root) Meine Frage wäre jetzt ob ich eine Chance diese Hacks anzusprechen - mittels document.getElementById("xx").style.width = "xpx" spreche ich ja nur die ungehackte Variante an Ist das prinzipiell möglich oder muss ich das umbauen so dass keine Hacks mehr nötig sind ? lg Camelrider |
Sponsored Links |
Sponsored Links |
|
||||
Zitat:
Microsoft selber bietet hier auch sogleich eine Lösung an: Code:
/** * Returns the version of Internet Explorer or a -1, * indicating the use of another browser. */ function getInternetExplorerVersion() { var rv = -1; if (navigator.appName == 'Microsoft Internet Explorer') { var ua = navigator.userAgent; var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 ); } return rv; } Code:
var version = getInternetExplorerVersion(); switch (version) { case 6: // Internet Explorer 6 break; case 7: // Internet Explorer 7 break; case -1: // Andere Browser (Opera, Firefox, Safari, etc) break; default: // Andere Internet Explorer Versionen break; }
__________________
Mit freundlichen Grüssen "Pascolo" Guter Webspace eSport Topliste Meine Lesezeichen Meine Spielwiese Geändert von Pascolo (14.07.2009 um 15:13 Uhr) Grund: Siehe Scheppertreiber Einwand. |
|
||||
So eine Browserweiche ist Murks. Um den IE zu indentifzieren gibt es conditional compilations, aber die Frage ist ob die CSS Hacks überhaupt für JS relevant sind. Es gibt fast immer bessere Lösungen als zu versuchen einen Bug mit einem workaround zu umgehen.
|
|
||||
Zitat:
Siehe: Ich muss dir aber Recht geben, dass es für sein Problem wahrscheinlich bessere Alternativen gibt, nach denen hat er aber nicht gefragt.
__________________
Mit freundlichen Grüssen "Pascolo" Guter Webspace eSport Topliste Meine Lesezeichen Meine Spielwiese Geändert von Pascolo (11.07.2009 um 15:35 Uhr) Grund: Zusatz für den ersten Abschnitt |
|
|||
Ich würde hier - wie von inta beschrieben - einfach nur mit Klassen und Conditional Comments arbeiten. 2 CSS-Files, das eine mittels CC nur für den IE sichtbar, das andere für die restlichen Browser. Beide Files haben eine Klasse mit gleichem Namen aber unterschiedliche Eigenschaften besitzen. Wenn man nun die Klasse mittels JS ändert, greifen alle Browser auf die für sie vorgesehene CSS-Datei zu und dieser ganze "Murks" ( ) ist hinfällig. Problematisch wirds aber auch, wenn Hacks auch für andere Browser enthalten sind. Denn die können ja nur in dem File sein, welches nicht per CC eingebunden wurde. Folglich stehst du dann wieder am Anfang. Aber ich entnehme ja deinem Beitrag, dass es sich wohl nur um Hacks für den IE geht.
Sollten die Werte für die Eigenschaften vorher nicht bekannt sein und du folglich die Klasse bzw. deren Eigenschaften nicht vordefinieren kannst, wirst du um den o.g. "Murks" leider nicht drumrum kommen. Geändert von regloh (12.07.2009 um 10:41 Uhr) |
|
|||
Hi
Vielen Dank für die Anregungen - Ich hab das PRoblem jetzt so gelöst dass ich einfach neue IDs vergeben habe und dadurch greifen auch die CSS-Hacks wieder (war wie immer der Weg des geringsten Widerstands) Danke für die Tips lg Camelrider |
|
||||
Gefährlich:
PHP-Code:
abfangen. switch ohne default kann einen in den Wahnsinn ... |
|
||||
Stimmt, habe obigen Beispiel-Code angepasst.
Vielen Dank für die Berichtigung.
__________________
Mit freundlichen Grüssen "Pascolo" Guter Webspace eSport Topliste Meine Lesezeichen Meine Spielwiese |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Doctype und CSS Problem | tech | CSS | 3 | 29.05.2009 21:16 |
Brauche Hilfe bei preg_match | CSS im Newssystem | Zen5656 | Serveradministration und serverseitige Scripte | 21 | 19.01.2007 16:33 |
Eric Meyer's CSS | Petty | Ressourcen | 0 | 21.11.2005 09:18 |
CSS Hacks werden zum Problem für IE7 | Floele | Offtopic | 24 | 17.10.2005 12:31 |
Mozilla ignoriert externes css | DarkWanderer | CSS | 9 | 22.09.2005 12:39 |