get_browser()
이 서버에서 활성화되어 있지 않아 해당 서버 (hotgator)의 관리자가 저를 위해 활성화하지 않았기 때문에 $_SERVER['HTTP_USER_AGENT']
을 사용하는 스크립트가 있습니다.IE 및 호환 모드, 브라우저 식별 스크립트가 왜 엉망입니까?
호환성 모드에서 Internet Explorer 8을 실행하면 Windows XP (VM 컴퓨터 테스트 베드)에서 Internet Explorer 8이 실행되고 있습니다. Internet Explorer 8 대신 Internet Explorer 7이 아래 스크립트에 표시됩니다. 왜 그렇습니까?
<?php
//This is a script that will identify the OS and browser you are using.
// This also has a fix in where Chrome shows up as Chrome,
// and not show up as Safari by accident.
//Booleans to set OS and Browser to False.
$os = false;
$browser = false;
//Booleans for Web Browser & OS Functions.
$info = $_SERVER['HTTP_USER_AGENT'];
$xp = 'Windows NT 5.1';
$vista = 'Windows NT 6.0';
$win7 = 'Windows NT 6.1';
$ubuntu = 'Ubuntu';
$ie106 = 'ie106';
$ie10 = 'ie10';
$ie9 = 'ie9';
$ie8 = 'MSIE 8.0;';
$ie7b = 'MSIE 7.0b;';
$ie7 = 'MSIE 7.0;';
$chrome = '/Chrome/';
$safari = '/Safari/';
$firefox = '/Firefox/';
//Operating Systems
if (stristr($info, "Windows NT 5.1")) {echo 'You are using a Windows XP Operating System ';}
if (stristr($info, "Windows NT 6.0")) {echo 'You are using a Windows Vista Operating System ';}
if (stristr($info, "Windows NT 6.1")) {echo 'You are using a Windows 7 Operating System ';}
if (stristr($info, "Ubuntu")) {echo 'You are using an Ubuntu Operating System ';}
if (stristr($info, "Mac OS")) {echo 'You are using a Macintosh Operating System ';}
//Web Browsers
if (stristr($info, "Chrome") !== FALSE) {stristr($info,"Safari");
$chrome = 'Chrome';
echo 'with a Chrome Web Browser ';}
elseif (stristr($info, "Safari")) {echo 'with a Safari Web Browser ';}
if (stristr($info, "Firefox")) {echo 'with a Firefox Web Browser ';}
if (stristr($info, "MSIE 7.0;")) {echo 'with a Internet Explorer 7.0 Web Browser ';}
if (stristr($info, "MSIE 7.0b;")) {echo 'with a Internet Explorer 7.0b Web Browser ';}
if (stristr($info, "MSIE 8.0;")) {echo 'with a Internet Explorer 8.0 Web Browser ';}
if (stristr($info, "MSIE 9.0;")) {echo 'with a Internet Explorer 7.0 Web Browser ';}
if (stristr($info, "MSIE 10.0;")) {echo 'with a Internet Explorer 7.0 Web Browser ';}
if (stristr($info, "MSIE 10.6;")) {echo 'with a Internet Explorer 7.0 Web Browser ';}
//If OS or Browser not found in list.
if ($ubuntu || $xp || $vista || $win7)
$os = true;
if($firefox || $chrome || $safari || $ie9 || $ie8)
$browser = true;
if(!$browser || !$os){
echo'<strong>';
echo '<br />' . $_SERVER['HTTP_USER_AGENT'] . '<br />Please copy and paste the text above and send it to your web administrator. It will explain everything he/she needs to do.';}
?>
호환성 모드에서 Internet Explorer 8 (및 9)을 실행하는 것이 Internet Explorer 7을 실행하는 것과 같기 때문에? –
IE7 에뮬레이션 모드는 브라우저가 IE7을 에뮬레이트하기 때문에 발생합니다. – GordonM