2012-02-27 52 views
1

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

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

隐藏他们不是决议。

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

这就是为什么我要加载一个不同的页面。

请帮忙写一些代码片段。


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

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

很明显我对IE有挑战。因此,我正在寻求帮助提供浏览器特定页面。我想要做的是:

  1. 识别浏览器,如果是IE则加载名为ie.php同样适用于iPhone,铬,Safari浏览器,火狐等变量的页面。

  2. 如果你可以给我一个php解决方案,这将是非常好的,但是我也使用jQuery,因此如果在jQuery中有一个更简单和更简单的方法,即使这样也行。

请注意:我在编程非常新手,所以请帮助解释一些有关的功能。

+0

你要保持什么差异? CSS规则?页面布局 ?功能? jQuery处理跨浏览器非常适合JS – ManseUK 2012-02-27 13:08:29

+0

不要。浏览器的具体页面不是前进的方向。使用[渐进式增强](http://en.wikipedia.org/wiki/Progressive_enhancement)。 – Quentin 2012-02-27 13:09:11

+0

@ManseUK这是我在我的页面上使用了很多启用Javascript和CSS3的模块,如果它是IE6到8,甚至在某些情况下甚至是9,我不想显示那些模块或显示,然后使用其他方法。使用CSS属性'display:none'并不能解决我的问题,因为页面仍然重载所有的javascript。和模块,但只是隐藏它们。 – 2012-02-27 13:55:21

回答

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]--> 

或者你可以看看$ _ SERVER PHP中的''HTTP_USER_AGENT'',并查看各种浏览器的内容。

希望这有助于

0

我建议你阅读了关于conditional comments

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

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

井的jQuery(和JavaScript)可以很容易地检查浏览器。检出jQuery.browser

然后,一旦你检测到浏览器,你可以用一个简单的include_once()函数加载ie.php(我不知道你为什么需要)。

1

你应该有不受浏览器,而检测。为此,我建议:Modernizr

为了应付IE,你会发现有用Conditional comments - 没有必要使用服务器端编程(和不同的模板文件)或JavaScript(可能不可用)。

0

既然你正在寻找一个PHP的解决方案:

一个简单switch case会做。 (或者“如果,否则,如果...”)

检查用户的浏览器使用PHP get_browser功能

然后,将用户重定向到使用header.location

希望这有助于正确的页面。 ..