Wie lassen sich diese Grafikunterschiede erklären?

Status
Nicht offen für weitere Antworten.
Hmm, ich sehe grade dass der Opera sich zwar als IE ausgibt, aber trotzdem die layout.css eingebunden wird.
Versuch mal in der if-Abfrage OR anstatt && zu nehmen.
 
Dr Dau hat gesagt.:
Hmm, ich sehe grade dass der Opera sich zwar als IE ausgibt, aber trotzdem die layout.css eingebunden wird.
So ist es, nach seinem Beitrag, auch von reptiler geplant.
Opera gehört zu den Browsern, die CSS richtig interpretieren können, daher kann man ihm auch die Standard-CSS-Datei zumuten.

Gruß hpvw

EDIT: Übrigends sollten boolean-Vergleiche mit [phpf]strpos[/phpf] typsicher gestaltet werden, auch wenn es hier vermutlich egal ist:
PHP:
if ((strpos($_SERVER['HTTP_USER_AGENT'],"MSIE")!==false) && (strpos($_SERVER['HTTP_USER_AGENT'],"Opera")===false))
//...
 
Zuletzt bearbeitet:
Aber wenn Opera die layout.css nehmen soll, warum dann erst fragen ob es Opera ist?

Mal abgesehn davon, ich habe es schon erlebt dass Opera weder mit den CSS-Anweisungen für den IE noch mit den CSS-Anweisungen für Mozilla (und kompatible) klar kommt.
 
Dr Dau hat gesagt.:
Aber wenn Opera die layout.css nehmen soll, warum dann erst fragen ob es Opera ist?
Es wird gefragt, ob es nicht Opera ist. Warum hat reptiler erklärt:
reptiler hat gesagt.:
Dass Opera im IF erwaehnt wird liegt daran, dass man in Opera einstellen soll er soll sich als IE ausgeben. Jedoch steht auch dann noch das Woertchen Opera im
UserAgent. Daher: if IE && !Opera, um's mal in Pseudo-Code auszudruecken.
Gruß hpvw
 
Jetzt habe ich es nochmal getestet.
Selbst wenn ich die Opera Abfrage ganz weg lasse, wenn er sich als Opera ausgibt nimmt er die layout.css, wenn er sich als IE ausgibt, nimmt er die layout-ie.css.
Gleiches passiert wenn die Abfrage nach Opera drin bleibt.
Somit ist die Abfrage doch überflüssig?!
 
Dann kann ich nur vermuten, dass Du mit einer anderen Opera-Version als reptiler testest und in Deiner Version das Wörtchen Opera nicht mehr in der Browserkennung auftaucht, wenn man "als IE ausgeben" einstellt.

Gruß hpvw
 
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.54 [de] layout_ie.css

[edit] Jetzt hat es "klick" gemacht, Opera soll also immer die layout.css nehmen, egal als was er sich ausgibt.... ich habe immer im Hinterkopf dass er sich ja angeblich an den "Standard" vom IE orientiert.... und demnach müsste er dann ja die layout-ie.css nehmen.
Sorry, in meinem Alter dauert es halt etwas länger. :) [edit]
 
Zuletzt bearbeitet:
PHP:
<?
//$text=$_SERVER['HTTP_USER_AGENT'];
$text="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.54";

if ((strpos($text,"MSIE")
        !==false)
        && (strpos($text,"Opera")
        ===false)) {
    echo $text."<br>Internet Explorer";
} else {
    echo $text."<br>anderer Browser";
}
    
?>
Ergibt bei mir "anderer Browser".
Mit der $_SERVER-Variable funktioniert es bei mir mit IE 6.0, FF 1.0, OP 8.01, NS 7.1, nur beim IE 6.0 erscheint "Internet Explorer".

Gruß hpvw

EDIT: Da komme ich mit dem Beispiel wohl zu spät, mit dem Missverständnis hatte ich nicht gerechnet.
 
So kann es manchmal kommen. ;)

Aber wieder zurück zum Thema....
PHP:
if ((strpos($_SERVER['HTTP_USER_AGENT'],"MSIE")) && (!strpos($_SERVER['HTTP_USER_AGENT'],"Opera"))) 
 
fuktioniert genauso wie:
if ((strpos($_SERVER['HTTP_USER_AGENT'],"MSIE")!==false) && (strpos($_SERVER['HTTP_USER_AGENT'],"Opera")===false))
@lp-chester, Du kannst also weiter am IE optimiertem Layout basteln. ;)
 
Status
Nicht offen für weitere Antworten.
Zurück