对于令人困惑的标题感到抱歉,我不知道如何更好地描述它。
无论如何,这是我目前用于我的网站Cufon的'问题'。哪个效果很好。但是,对于Internet Explorer 8,它变得非常慢。因此我决定使用:
<![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?
希望有人理解我在这里的意思,因为有点难以向我解释...... :(
答案 0 :(得分:5)
<?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
,这是用于功能检测而非浏览器检测。
答案 1 :(得分:2)
是的,您可以使用HTTP_USER_AGENT
$using_ie8 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.') !== FALSE);
但我们知道这可以由用户更改。
答案 2 :(得分:2)
在PHP中,您可以使用get_browser()来检测浏览器及其版本。
$browser = get_browser(null, true);
这应该返回一个包含浏览器信息的数组。
请注意,这需要设置browscap。
答案 3 :(得分:0)
基本上,您可以通过过滤访客的USER AGENT [docs] 来完成此操作。您可以从服务器变量中获取此信息。
$ua = $_SERVER['HTTP_USER_AGENT'];
USER代理包含正在打开该页面的访客的所有必要信息。到目前为止,我所知道的这种技术最简单的用法是:
if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT'])) {
//do something
}
答案 4 :(得分:0)
也可以打印条件评论;
<?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]>";
?>