Discuz! 6.1 - cpmsg函数在IE下和Firefox下表现不一致
cpmsg函数中包含如下几行代码。$message .= '<p class="marginbot"><a href="'.$url.'" class="lightlink">'.lang('message_redirect').'</a></p>';
$url = transsid($url);
$message .= "<script type=/"text/JavaScript/">setTimeout(/"redirect('$url');/", 2000);</script>";
其中调用redirect函数内容如下:
function redirect(url) {window.location.replace函数在IE下和Firefox下表现不一致。例如:
window.location.replace(url);
}
window.location.replace('?a=123&b=456');在Firefox下会跳转到
?a=123&b=456而在IE下会跳转到
?a=123&b=456为 避免出现这种情况,调用cpmsg函数时应使用?a=123&b=456的形式,在Firefox下会跳转到?a=123&b=456, 而在IE下会容错后也跳转到?a=123&b=456,这样就保证了跳转目标页面的一致,但是又使得a标记的href属性无法通过HTML Validator验证。
[Discuz! - 官方网站]
http://www.discuz.net/[Discuz! - 常见问题]
Discuz! 6.1 从GBK编码转为UTF-8编码Discuz! 6.1 多语言翻译工作范围
Discuz! 6.1 兼容问题
Discuz! 6.1 发送HTML格式电子邮件
Discuz! 6.1 安装SupeSite后导致安全漏洞
Discuz! 6.1 不修改模板在贴子上增加收藏按钮
Discuz! 6.1 cpmsg函数在IE下和Firefox下表现不一致