首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在PHP中使用<![if!(Ie8)]>?

有没有办法在PHP中使用<![if!(Ie8)]>?
EN

Stack Overflow用户
提问于 2012-05-15 17:09:48
回答 4查看 1.6K关注 0票数 2

抱歉,标题令人困惑,我不知道怎样才能更好地描述它。

无论如何,这是我目前在我的网站Cufon上使用的“问题”。效果很好。然而,在Internet Explorer8中,它变得非常慢。因此,我决定使用:

代码语言:javascript
运行
复制
<![if !(IE 8)]>
<script type="text/javascript" src="js/myriad-pro.cufonfonts.js"></script>
<script type="text/javascript">Cufon.replace('.example1') ('.example2') ('.example3') ('.example4') ('.example5');
</script>
<![endif]>

这很有效,但是并不是万能的。脚本的某些部分在脚本本身中调用Cufon,它不起作用,Cufon仍将显示在IE8中(带有所有负面结果)。

几个包含的脚本/部件中包含以下代码:

代码语言:javascript
运行
复制
<?php
echo "<script language=\"javascript\" type=\"text/javascript\">";
echo "$(document).ready(function() { Cufon.replace('.orderpart1') ('.orderpart2') ('.orderpart3'); });";
echo "</script>";
?>

现在,是否可以在PHP脚本中使用相同的语句?因此,如果它是任何浏览器,而不是IE8,它将加载Cufon,但如果它是IE8,它将不会加载Cufon?

希望有人能理解我的意思,因为对我来说很难解释……:(

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-15 17:13:09

代码语言:javascript
运行
复制
<?php
echo "<![if !(IE 8)]>";
echo "<script language=\"javascript\" type=\"text/javascript\">";
echo "$(document).ready(function() { Cufon.replace('.orderpart1') ('.orderpart2') ('.orderpart3'); });";
echo "</script>";
echo "<![endif]>";
?>

是这样吗?还是我误解了你的要求?

编辑:另一种方式,因为我看到您正在使用jQuery,可以使用jQuery browser detection

代码语言:javascript
运行
复制
<?php
echo "<script language=\"javascript\" type=\"text/javascript\">";
echo "if ( $.browser.msie && $.browser.version <= 8 ) {";
echo "$(document).ready(function() { Cufon.replace('.orderpart1') ('.orderpart2') ('.orderpart3'); });";
echo "}";
echo "</script>";
?>

请注意,此功能已弃用:

此属性立即可用。因此,可以安全地使用它来确定是否调用$(document).ready()。$.browser属性在jQuery 1.3中已被弃用,其功能可能会在未来的jQuery版本中移至团队支持的插件中。

如果您确切知道需要哪些特性,而不是在IE8中实现哪些特性,我建议使用$.support,它用于特性检测而不是浏览器检测。

票数 5
EN

Stack Overflow用户

发布于 2012-05-15 17:13:22

是的,您可以使用HTTP_USER_AGENT

代码语言:javascript
运行
复制
$using_ie8 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.') !== FALSE);

但我们意识到这是可以由用户更改的。

Here is a list of all User Agents for IE

票数 2
EN

Stack Overflow用户

发布于 2012-05-15 17:13:58

在PHP中,您可以使用get_browser()来检测浏览器及其版本。

代码语言:javascript
运行
复制
$browser = get_browser(null, true);

这将返回一个包含浏览器信息的数组。

请注意,这将需要browscap设置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10597515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档