抱歉,标题令人困惑,我不知道怎样才能更好地描述它。
无论如何,这是我目前在我的网站Cufon上使用的“问题”。效果很好。然而,在Internet Explorer8中,它变得非常慢。因此,我决定使用:
<![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中(带有所有负面结果)。
几个包含的脚本/部件中包含以下代码:
<?php
echo "<script language=\"javascript\" type=\"text/javascript\">";
echo "$(document).ready(function() { Cufon.replace('.orderpart1') ('.orderpart2') ('.orderpart3'); });";
echo "</script>";
?>
现在,是否可以在PHP脚本中使用相同的语句?因此,如果它是任何浏览器,而不是IE8,它将加载Cufon,但如果它是IE8,它将不会加载Cufon?
希望有人能理解我的意思,因为对我来说很难解释……:(
发布于 2012-05-15 17:13:09
<?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:
<?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
,它用于特性检测而不是浏览器检测。
发布于 2012-05-15 17:13:22
是的,您可以使用HTTP_USER_AGENT
$using_ie8 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.') !== FALSE);
但我们意识到这是可以由用户更改的。
Here is a list of all User Agents for IE
发布于 2012-05-15 17:13:58
在PHP中,您可以使用get_browser()来检测浏览器及其版本。
$browser = get_browser(null, true);
这将返回一个包含浏览器信息的数组。
请注意,这将需要browscap设置。
https://stackoverflow.com/questions/10597515
复制相似问题