Zum Inhalt springen

Css-bedingungen (Netscape - IE)

Erstellt am 2. August 2006 · 4 Antworten · letzte Antwort am 2. August 2006

Tags: Frage

randomresult ·

Hallo, ich verwende folgendes Typoskript um meine Css-files je nach Layout-auswahl in den Seiteneigenschaften
einzubinden.
Es funktioniert im IE problemlos, nur scheint er nicht in die netscape-schleife zu gehen...
hier mein TS:

[browser = netscape]
 [globalVar = TSFE:page|layout = 0]
page.includeCSS.file1 = {$css_ne_sel_1}
[global]
 [globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_ne_sel_2}
[global]

 [globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_ne_sel_3}
[global]
 [globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_ne_sel_4}
[global]


[ELSE]
 [globalVar = TSFE:page|layout = 0]
page.includeCSS {

               file1 = {$css_sel_1}
          
               }
[global]
 [globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_sel_2}
[global]

 [globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_sel_3}
[global]
 [globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_sel_4}
[global]

[END]

Wie gesagt, beim Internetexplorer macht er alles richtig... bei netscape/firefox zeigt er die Styles aus der ELSE-Schleife

Kann ich denn schleifen in schleifen packen?
Hilfe... ich blicke nicht mehr durch

randomresult ·
[useragent = nescape] && [globalVar = TSFE:page|layout = 0]
page.includeCSS.file1 = {$css_ne_sel_1}
[END] 


[useragent = netscape] && [globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_ne_sel_2}
[END] 
[useragent = netscape] && [globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_ne_sel_3}
[END] 
[useragent = netscape] && [globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_ne_sel_4}
[END] 

[useragent = netscape] && [globalVar = TSFE:page|layout = 4]
page.includeCSS.file1 = {$css_ne_sel_5}
[END] 
[useragent = netscape] && [globalVar = TSFE:page|layout = 5]
page.includeCSS.file1 = {$css_ne_sel_6}
[END] 



[browser = msie] && [globalVar = TSFE:page|layout = 0]
page.includeCSS.file1 = {$css_sel_1}
[END] 


[browser = msie] && [globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_sel_2}
[END] 

[browser = msie] && [globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_sel_3}
[END]        
              
[browser = msie] && [globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_sel_4}
[END] 
[browser = msie] && [globalVar = TSFE:page|layout = 4]
page.includeCSS.file1 = {$css_sel_5}
[END] 
[browser = msie] && [globalVar = TSFE:page|layout = 5]
page.includeCSS.file1 = {$css_sel_6}
[END]

so hab ich es gemacht... bei msie funktioniert es...
folgende bedingungen hab ich probiert:
browser=netscape
browser=firefox
useragent=firefox
useragent=*firefox*
useragent = mozilla
useragent = netscape
...
also eigentlich alle kombinationen....
hilfe! 🙂

einpraegsam.​net ·

OK, ein Blick ins Buch TYPO3 Enterprise Content Management - folgendes kommt dabei heraus:

[browser = msie] gilt für alle MS IE
[browser = msie, opera] gilt für alle MS IE und Opera Browser
[browser = opera7] gilt für alle Opera 7.xx Browser (z.B. 7.1, etc...)

Folgendes steht noch drunter:
Beachten Sie, dass sich Browser auch unter anderem Namen identifizieren können und die Abfrage dann nicht zu dem gewünschten Ergebnis führt.

Jetzt ist also nur noch die Frage, wie sich Browser identifizieren

TIP: Mein Kollege macht übrigens folgendes:
Firefox ist der Standardbrowser und für alle andere gilt ein anderes CSS - das funzt in jedem Fall

chris3 ·

... also, wenn Du "useragent" benutzt, mußt Du mit Wildcards arbeiten (z.B. *Firefox*), denn der String, den getenv("HTTP_USER_AGENT") zurückgibt ist ja sowas in der Art von "Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT)" (link)

Aber ich würde wunschtachos Vorschlag weiterverfolgen ... 😉