php根据分辨率输出不同的内容

代码如下,输出不正确,不知道问题出在哪,请帮忙看一下,谢谢<?//获得分辨率宽度$width.="<scriptlanguage=\"javascript\">";$wi... 代码如下,输出不正确,不知道问题出在哪,请帮忙看一下,谢谢

<?
//获得分辨率宽度
$width.="<script language=\"javascript\">";
$width.="document.write(window.screen.width);";
$width.="</script>";
//获得分辨率高度
$height.="<script language=\"javascript\">";
$height.="document.write(window.screen.height);";
$height.="</script>";
echo "浏览器分辨率为:".$width."*".$height;
?>
<?php
if($width < 500){
echo 'a';
}else if($width >= 500 && $width < 1000){
echo 'b';
}else if($width > 1000){
echo 'c';
}else{
echo "<pre>";
print_r('数值不在所需范围内!');
exit();
}
?>
展开
 我来答
xiii130
2014-12-22 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部

这段代码当然没有效果咯

因为变量width的值是

<script language=\"javascript\">document.write(window.screen.width);</script>

(是字符串类型)


并非是屏幕宽度(数字类型)


你拿一个字符串和数字做大小比较,在if语句中,肯定会一直执行最后那个else的部分的


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form method="get" id="f">
    <input type="hidden" name="w" id="w" value="">
    <input type="hidden" name="h" id="h" value="">
</form>
<?php
if($_GET['w'] && $_GET['h']){
    echo '屏幕宽度为'.$_GET['w'].',高度为'.$_GET['h'];
}else{
?>
<script>
window.onload=function(){
    document.getElementById('w').value = window.screen.width;
    document.getElementById('h').value = window.screen.height;
    document.getElementById('f').submit();
}
</script>';
<?php
}
?>
相大之0o358
2014-12-22 · TA获得超过210个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:122万
展开全部

你大概就是想用Js来获取屏幕的分辨率,然后根据分辨率来执行一些相对应的操作,我帮你写了一个简单的Demo,你可以复制粘贴来试试,示例如下:

<?php
    error_reporting(E_ERROR);
    // 分辨率の宽高
    $script = '<script language="javascript">';
    $script .= 'var screen_width = window.screen.width;';
    $script .= 'document.cookie = "sw = "+screen_width+"";';
    $script .= 'var screen_height = window.screen.height;';
    $script .= 'document.cookie = "sh = "+screen_height+"";';
    $script .= '</script>';
    $width = $_COOKIE['sw'];
    $height = $_COOKIE['sh'];
    echo "浏览器分辨率为:".$width."*".$height;
    echo "<br />";
    if($width < 500){
        echo 'a';
    }else if($width >= 500 && $width < 1000){
        echo 'b';
    }else if($width > 1000){
        echo 'c';
    }else{
        echo "<pre>";
        print_r('数值不在所需范围内!');
        exit();
    }
?>

若有其它任何疑问,欢迎追问......(*^__^*) 

来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-22
展开全部
对于php来说, $width这个变量就是一个字符串变量, 值是:.="<script language=\"javascript\">";
$width.="document.write(window.screen.width);";
$width.="</script>";

那么, 他怎么就能和数字作比较呢???
况且, js变量和php变量是两码事, 不可直接相互调用!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式