PHP浏览器检测中的Javascript

Javascript inside PHP browser detection

本文关键字:Javascript 检测 浏览器 PHP      更新时间:2023-09-26

有人能告诉我为什么我一直得到else,而alert根本没有被触发吗?正在浏览器打开时设置cookie。

<?php
$setcookie = setcookie('version', 'nova');
$browser = get_browser(null, true);
    if(!isset($setcookie)){
        if($browser["MSIE"] < 8.0){
        // display message or alert!
               echo "<script language='"JavaScript'">'n"; 
               echo 'alert("Please upgrade to version 8.0+ in order to view this site.");';
               echo "</script>";
        }
       }
        else
        {
            echo "Browser is current:";
        }
?>

您的if条件错误。您要检查的是$_COOKIE数组,而不是setcookie的返回值。

if(!isset($_COOKIE['version'])) {
  ...
}

我不认为get_browser()返回您认为它返回的内容?请参阅手册:http://php.net/manual/en/function.get-browser.php

您需要查看[browser][version]字段。

PHP get_browser()方法非常慢。最好使用之类的东西

$useragent = $_SERVER['HTTP_USER_AGENT']; 

然后你可以做一些预匹配,如下

if(preg_match('/MSIE/i',$useragent)){
    //echo something here
}
else{
    //do something else
}