我正在尝试使用以下代码让浏览器视口区将 Javascript 变量传递给 PHP:
第一个代码
<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
// output the geometry variables
echo "Screen width is: ". $_GET['width'] ."<br />\n";
echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
// pass the geometry variables
// (preserve the original query string
// -- post variables will need to handled differently)
echo "<script language='javascript'>\n";
echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
. "&width=\" + screen.width + \"&height=\" + screen.height;\n";
echo "</script>\n";
exit();
}
?>
上面的代码给了我屏幕宽度和高度,这在包括 IE6、7 和 8 在内的所有浏览器中都可以正常工作。
但是当我将它更改为 from screen.width
to window.innerWidth
和 screen.height
to window.innerHeight
像这样 . "&width=\" + window.innerWidth + \"&height=\" + window.innerHeight;\n";
它在所有浏览器中都可以正常工作,但对于 IE6、7 和 8,它说
Screen width is: undefined
Screen height is: undefined
在网上寻找解决方案时,我发现了另一段代码:
第二代码
<script type="text/javascript">
var w=window,d=document,e=d.documentElement,g=d.getElementsByTagName('body')[0],x=w.innerWidth||e.clientWidth||g.clientWidth,y=w.innerHeight||e.clientHeight||g.clientHeight;
document.write('<p>Your viewport size is '+x+' x '+y+'</p>');
</script>
此代码显示浏览器视口,它在包括 IE6、7 和 8 在内的所有浏览器中都可以正常工作。
当我在 php 文件中同时运行这两个代码时,第一个显示为undefined
abd,第二个完美运行。请看下面的截图
我不是新手程序员,无法将第二个代码连接到第一个逻辑。请帮我这样做。
以下是所有浏览器的屏幕截图:
互联网浏览器 6
互联网浏览器 7
互联网浏览器 8
互联网浏览器 9
狐狸
谷歌浏览器
歌剧
苹果浏览器