WP-Cirrus在IE浏览器下的解决方案

添加评论 2011年1月30日

用WP-Cirrus实现的3D标签云在Chrome下效果很不错,但是在IE浏览器下却是惨不忍睹,主要是因为老版的IE浏览器不支持这些属性。毕竟并非所有访客都用Chrome,所以只好想想办法解决WP-Cirrus在IE浏览器下的显示,当然,以我这样的水平要改核心代码让3D效果在IE下显示正常是十分遥远的,所以路线决定为在IE浏览器下面不显示3D效果,改为显示正常的普通的标签云。于是,首先我们要知道怎样确认访客的浏览器。

具体的修改代码如下:

PHP语言:

//正值表达式比对解析$_SERVER['HTTP_USER_AGENT']中的字符串 获取访问用户的浏览器的信息
//判断如果浏览器是IE就返回true
function determinebrowser ($Agent) {
if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) {
return true;
}
else {
return false;
}
}

传入$_SERVER['HTTP_USER_AGENT']给函数determinebrowser,函数正则表达式判断浏览器是否IE浏览器,如果是就返回true,不是就返回false

函数有了,我们现在要修改WP-Cirrus插件的代码,找到下面的代码

PHP语言:

function wpcirrusWidgetInit($args){
extract($args);
$options = get_option('wpcirrus-widget');

echo $before_widget . $before_title . $options['title'] . $after_title;

wpcirrusInit(false, $args);

echo $after_widget;

}

这是控制widget在前台显示的代码,我们只需要增加相应的条件判断

PHP语言:

function wpcirrusWidgetInit($args){
extract($args);
$options = get_option('wpcirrus-widget');
echo $before_widget . $before_title . $options['title'] . $after_title;
//判断是否IE浏览器
if (!determinebrowser($_SERVER['HTTP_USER_AGENT'])){
wpcirrusInit(false, $args);
}
else{//是IE浏览器,显示普通的标签云
echo '<div>';
wp_tag_cloud( );
echo "</div>\n";
}
echo $after_widget;
}

这样,如果访客用的是IE浏览器访问,WP-Cirrus就只会显示普通的标签云了

很简单,也没什么技术含量,虽然不是完美的解决方案,凑合着用吧

其实我觉得普通的标签云增加彩色比3D标签云更好看。

via:TeRRY

  1. 2011年2月8日 at 11:21 | #1
    dfg

    我用wp搭的博客已经放弃IE6了,装了个IE6 Update的插件提醒。要是我们总迁旧的东西,那东西就会没完没了了,总要有那么些人先跨出那么一步。

  2. 2011年7月13日 at 22:25 | #2

    你好,请问这个插件[wp-cirrus]在页面中显示的位置怎么设置,我在一个页面中安放它,它总是在页首独立一行显示,怎么也调不好,求帮助。

  1. 还没有 trackbacks
订阅评论