با سلام
کدی وجود داره که براش تعین بشه وقتی کاربری با IE امد از یه قالب دیگه استفاده کنه؟
Printable View
با سلام
کدی وجود داره که براش تعین بشه وقتی کاربری با IE امد از یه قالب دیگه استفاده کنه؟
شما میتونید هم با جاوا اسکریپت و هم با پی اچ پی نوع و ورژن بروزر رو تشخیص بدید، بعدش با توجه بهش فایل های مختلف css رو لود کنید :
این پی اچ پی:
<?php
function getBrowser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version= "";
//First get the platform?
if (preg_match('/linux/i', $u_agent)) {
$platform = 'linux';
}
elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
$platform = 'mac';
}
elseif (preg_match('/windows|win32/i', $u_agent)) {
$platform = 'windows';
}
// Next get the name of the useragent yes seperately and for good reason
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
{
$bname = 'Internet Explorer';
$ub = "MSIE";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$bname = 'Mozilla Firefox';
$ub = "Firefox";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
$bname = 'Google Chrome';
$ub = "Chrome";
}
elseif(preg_match('/Safari/i',$u_agent))
{
$bname = 'Apple Safari';
$ub = "Safari";
}
elseif(preg_match('/Opera/i',$u_agent))
{
$bname = 'Opera';
$ub = "Opera";
}
elseif(preg_match('/Netscape/i',$u_agent))
{
$bname = 'Netscape';
$ub = "Netscape";
}
// finally get the correct version number
$known = array('Version', $ub, 'other');
$pattern = '#(?<browser>' . join('|', $known) .
')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern, $u_agent, $matches)) {
// we have no matching number just continue
}
// see how many we have
$i = count($matches['browser']);
if ($i != 1) {
//we will have two since we are not using 'other' argument yet
//see if version is before or after the name
if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
$version= $matches['version'][0];
}
else {
$version= $matches['version'][1];
}
}
else {
$version= $matches['version'][0];
}
// check if we have a number
if ($version==null || $version=="") {$version="?";}
return array(
'userAgent' => $u_agent,
'name' => $bname,
'version' => $version,
'platform' => $platform,
'pattern' => $pattern
);
}
// now try it
$ua=getBrowser();
$yourbrowser= "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform'] . " reports: <br >" . $ua['userAgent'];
print_r($yourbrowser);
?>
اینم با جاوا اسکریپت :
var nVer = navigator.appVersion; //Mozilla Firefox
var nAgt = navigator.userAgent; //Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0)
var browserName = navigator.appName; //Netscape
var fullVersion = ''+parseFloat(navigator.appVersion); //20.0
var majorVersion = parseInt(navigator.appVersion,10); //20
تشکر کد ها کمی زیاد شدند مشکل بود برام...
الان میشه تنها این کد رو قرار بدید:
وقتی کاربر با هر ورژن IE امد یه قالب دیگه رو بخونه
اگه کلا می خواین ساختار قالب عوض بشه که از همون کد استفاده کنید! ولی اگه بخواین یک فایل CSS دیگه رو لود کنید اینجوری می تونید انجام بدید:
کد HTML:<!--[if IE]>
<link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->
الان من بخوام بگم یه قالب دیگه رو بخون تو دستور زیر باید کجاش بگم؟
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; }
من یک روش ساده تر پیدا کردم شما این کد رو بزار توی تگ head فایلت بعد اگر با IE وارد اون صفحه بشید شما رو به صفحه ی ie.html منتقل می کنه:
کد HTML:<!--[IF IE]>
<meta http-equiv="refresh" content="0;url=ie.html">
<![END IF]-->
سیستم محتوای من وردپرس تو اون چطوری میتونم تعین کنم؟
یه سوال اگه کاربری بخواد در مرورگر موبایل نسبتا قدیمی سایت رو ببینه به چه صورت می شه کاری که یه قالب دیگه رو ببینه..........؟