PHP / jQuery:加载特定于浏览器的页面

时间:2012-02-27 13:04:22

标签: php jquery

更新

问题是我使用了很多Javascript&支持CSS3的模块也包含大量重量级的javascript和图像。如果它是IE6到8,在某些情况下甚至是9,我不想显示这些模块或使用其他方法显示它们。使用CSS属性display:none或使用Conditional Comments的条件样式表并不能解决我的问题,因为页面仍然会加载所有的javascript和图像。

隐藏它们不是决议。

因此,我希望使用非常不同的<div>和模块位置结构加载一个非常不同的布局。

这就是为什么我想把所有页面加载到不同的页面。

请帮助处理一些代码段。


我是编程新手,需要帮助。问题是这样的:

我为我的网站开发了一个模板,我在其中使用了很多jQuery和CSS3函数。

显然我特意挑战IE。因此,我正在寻求帮助提供特定于浏览器的页面。我想做的是:

  1. 识别浏览器,如果它是IE,那么它会加载一个名为ie.php的变量页,类似于iphone,chrome,safari,firefox等。

  2. 如果你可以提供一个php解决方案,那将是很棒的。但是我也使用jQuery,因此如果在jQuery中有一个更简单的镜头方法,那就没问题了。

  3. 请注意:我是编程的新手,因此请帮助解释一下这些功能。

5 个答案:

答案 0 :(得分:1)

jQuery(和JavaScript)可以轻松检查浏览器。查看jQuery.browser

然后,一旦检测到浏览器,您就可以使用简单的ie.php函数加载include_once()(我不知道您需要的原因)。

答案 1 :(得分:1)

如果您想加载不同的css / js文件,如果浏览器可以在<head>中添加这样的内容,只能输入所需的css / js

<!--[if IE 8]>
        <script type='text/javascript' src='js/excanvas.js'></script>
        <link rel="stylesheet" href="css/IEfix.css" type="text/css" media="screen" />
<![endif]-->

<!--[if IE 7]>
        <script type='text/javascript' src='js/excanvas.js'></script>
        <link rel="stylesheet" href="css/IEfix.css" type="text/css" media="screen" />
<![endif]-->

或者您可以查看PHP中的$ _SERVER ['HTTP_USER_AGENT']并查看各种浏览器的内容。

希望这会有所帮助

答案 2 :(得分:1)

您应该通过功能而不是浏览器进行检测。为此我建议:Modernizr

对于处理IE,你会发现有用的Conditional comments - 不需要使用服务器端编程(和不同的模板文件)或JavaScript(可能不可用)。

答案 3 :(得分:0)

我建议您阅读conditional comments

然后你可以做(​​作为一个例子):

<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->

答案 4 :(得分:0)

因为你正在寻找一个php解决方案:

简单switch case即可。 (或&#34; if,else if,...&#34;)

使用php get_browser函数

检查用户浏览器

然后,使用header.location

将用户重定向到正确的页面

希望这会有所帮助......