Wie der Browser des Benutzers mit PHP bestimmen?
Frage
Wie der Browser des Benutzers mit PHP?
, um zu bestimmenSo dass, wenn der Benutzer-Browser IE dann die Variable $ alert = "onbeforeunload" und wenn es nicht IE, zum Beispiel Firefox (sonst) dann $ alert = "onload.
Die Hilfe wird sehr geschätzt.
Danke
Bitte beachten Sie auch, dass ich nicht auf meinem PHP-Server installieren browscap.ini kann.
Lösung
Sehen Sie, wenn dieser Code funktioniert für Sie
<?php
function detect_ie(){
return (sizeof(explode("MSIE",$_SERVER['HTTP_USER_AGENT'])) > 1);
}
if (detect_ie())
$event = "onbeforeunload";
else
$event = "onload";
?>
Andere Tipps
Sie können nicht. Nicht mit 100% Genauigkeit. Die beste Methode, die die User-Agenten zu überprüfen, ist jedoch der Benutzer frei, nicht zu liefern, oder gefälschtes es so versuchen, es zu vermeiden angewiesen zu sein.
$ua = $_SERVER['HTTP_USER_AGENT'];
Wenn der Browser IE, es sollte (roughtly) passend (wobei # eine Zahl)
Mozilla/#.0 (compatible; MSIE #.##;
Für welche die Regex so etwas wie
sein würde'~^Mozilla/[0-9]\.0 (compatible;\s+MSIE~i'
Alternativ können Sie einfach überprüfen, nach der Zeichenfolge „MSIE“, die einfacher sein würde, und etwas weniger streng.
Aber wie @Michal sagte, gibt es andere (bessere) implmentations auf der get_browser Manpage
Verwendung $_SERVER['HTTP_USER_AGENT']
Überprüfen Sie, ob es enthält „IE“ direkt gefolgt von einer Zahl.
Ich würde lieber dies in Javascript selbst wenn.
if (typeof window.onbeforeunload !== "undefined") window.onbeforeunload = myFunc;
else window.onunload = myFunc;
Javascript-Bibliotheken sind viel besser zu erkennen und zu anderem Browser Verhalten zu umgehen. Lassen Sie einfach eine reife Bibliothek wie jQuery damit umgehen, und Sie werden in Ordnung sein.