-1

我想做一件简单的事情,那就是:如果有人在 Internet Explorer 中浏览我的网站,那么我网站的 div 必须以表格形式显示,如果没有,则以另一种形式显示。

我正在尝试一些简单的方法来测试条件,但它不起作用。这是代码

$IE = 0;
echo "<!--[if lte IE 8]>" ;
$IE = 1;
echo "<![endif]-->";

die("IE is: "  . " " . $IE);

使用 chrome 时,它​​总是显示 IE 为 1。

难道我做错了什么?

4

2 回答 2

1

Web 开发中的基本内容之一是需要区分服务器上发生的事情和浏览器中发生的事情以及两者之间的关系。

PHP 在服务器上运行,在浏览器中有条件的 IE 评论。两者之间是通过网络发送的 HTML 文件。

您的脚本在服务器上执行。结果是:

<!--[if lte IE 8]><![endif]-->IE is:   1

如您所见,条件注释标签之间没有任何内容。

在服务器端,您需要依靠用户代理来猜测浏览器。我说猜测,因为你不能百分百确定。使用这样的东西,让你在这里激发灵感: http ://www.useragentstring.com

$IE = (bool) strpos($_SERVER['USER_AGENT'], 'MSIE') ;
于 2013-08-30T20:25:25.827 回答
0

你用 php 代码弄乱了一点 java 脚本。如果您想根据用户使用的服务器向客户端返回不同的 html,请检查 $_SERVER['HTTP_USER_AGENT']。

phpinfo()在您的 php 代码中使用或简单地调用echo $_SERVER['HTTP_USER_AGENT']那里,然后在各种浏览器中打开您的页面,看看它们是如何呈现给您的。

于 2013-08-30T20:46:14.083 回答