PHP kullanarak kullanıcının tarayıcı nasıl belirlenir?

5 Cevap php

PHP kullanarak kullanıcının tarayıcı nasıl belirlenir?

Böylece kullanıcıların tarayıcı IE ise o değişken $ uyarı = "onbeforeunload" ve IE değilse, örneğin Firefox (başka) sonra $ alert = "onload.

Yardım çok takdir edilmektedir.

Teşekkürler

Ayrıca ben benim PHP sunucuda browscap.ini yükleyemezsiniz lütfen unutmayın.

5 Cevap

Bu kod sizin için çalıştığını görmek

<?php
function detect_ie(){
    return (sizeof(explode("MSIE",$_SERVER['HTTP_USER_AGENT'])) > 1);
}

if (detect_ie())
    $event = "onbeforeunload";
else
    $event = "onload";

?>

Sen yapamazsın. % 100 doğruluk ile. Kullanıcı ajan kontrol etmek iyi bir yöntem, ancak kullanıcı bunu tedarik, ya da sahte o kadar güvenerek önlemek için denemek için ücretsizdir.

$ua = $_SERVER['HTTP_USER_AGENT'];

Tarayıcı IE ise, gerektiği (roughtly) maç (# bir sayıdır)

Mozilla/#.0 (compatible;  MSIE #.##;

Regex gibi bir şey olurdu hangi

'~^Mozilla/[0-9]\.0 (compatible;\s+MSIE~i'

Alternatif olarak sadece basit ve biraz daha az sıkı olacak "MSIE" dizesinin için kontrol edebilir.

Michal @ Ancak dediğim gibi, get_browser manual page diğer (daha iyi) implmentations vardır

kullanmak $_SERVER['HTTP_USER_AGENT']

Doğrudan bir sayıyla "IE" içeriyorsa edin.

Ben doğrusu olsa javascript kendisi bu yapardım.

if (typeof window.onbeforeunload !== "undefined") window.onbeforeunload = myFunc;
else window.onunload = myFunc;

Javascript kütüphaneleri farklı tarayıcı davranışlarını algılamak ve işlemek için çok daha iyi. Sadece jQuery gibi olgun bir kütüphane halledeyim ve iyi olacak.