我有一个页面,我想为不同的浏览器加载不同的内容。
示例:
IF Internet explorer
{include file="/content1.tpl"}
ELSE if any other browser
{include file="/content2.tpl"}
{/if}
Content1.tpl & 内容2.tpl 是两个不同的文件,其中包含受尊重的 Html& CSS。
如何使用Javascript或php实现此目的?
谢谢,
修改
我想要的是, IE 完全忽略content2.tpl
&安培; Mozilla 或其他完全忽略content1.tpl
答案 0 :(得分:10)
不要使用PHP。在浏览器级别这样做更安全,最好使用conditional comments。您cannot trust the HTTP_USER_AGENT因为伪造/变更非常容易,所以您不能自信(因此不应该)根据其价值做出决定。坚持使用一个.tpl
文件,并根据条件注释包含特定样式表,或使用这些注释添加其他标记。例如,您可以添加这样的附加标记,然后相应地进行定位:
<html>
<body>
<!--[if IE 6]><div id="ie6"><![endif]-->
... main content here
<!--[if IE 6]></div><![endif]-->
</body>
</html>
答案 1 :(得分:4)
查看get_browser()
PHP函数
http://php.net/manual/en/function.get-browser.php
请注意,USER AGENTS可以伪造,因此您不能依赖此100%。
答案 2 :(得分:2)
HTTP_USER_AGENT
键下,您将找到浏览器。
这将使用PHP和Smarty计算服务器端。
在Javascript中,使用this
HTML中的可以使用this syntax
答案 3 :(得分:2)
这项工作:
<!--[if IE]>
{include file="/content1.tpl"}
<![endif]-->
<![if !IE]>
{include file="/content2.tpl"}
<![endif]>
查看HERE了解更多详情。
答案 4 :(得分:2)
<!--[if IE]>
{include file="/content1.tpl"}
<![endif]-->
<comment>
{include file="/content2.tpl"}
</comment>
Internet Explorer忽略<comment></comment>
标记,就好像它们是标准注释一样,但所有其他浏览器都像普通代码一样读取它们。这非常适合隐藏非IE代码。
答案 5 :(得分:0)
这应该有效:
<script type = " javascript" >
if (navigator.appName == "Microsoft Internet Explorer")
{
/*
do something
*/
}
else
{
/*
do something else
*/
}
</script>