[英]Is there a way to use <![if !(IE 8)]> within PHP?
对不起令人困惑的标题,我不知道如何更好地描述它。
无论如何,这是我目前用于我的网站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?
希望有人理解我在这里的意思,因为有点难以为我解释...... :(
<?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浏览器检测 :
<?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
,这是用于功能检测而不是浏览器检测。
是的,您可以使用HTTP_USER_AGENT
$using_ie8 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.') !== FALSE);
但我们知道这可以由用户改变。
在PHP中,您可以使用get_browser()来检测浏览器及其版本。
$browser = get_browser(null, true);
这应该返回一个包含浏览器信息的数组。
请注意,这将需要browscap设置。
基本上,您可以通过过滤访客的USER AGENT [docs]来完成此操作。 您可以从服务器变量获取此信息。
$ua = $_SERVER['HTTP_USER_AGENT'];
USER代理包含打开该页面的访客的所有必要信息。 到目前为止,我所知道的这种技术最简单的用法是:
if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT'])) {
//do something
}
只需打印条件注释;
<?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]>";
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.