Discuz! 6.1 - cpmsg函数在IE下和Firefox下表现不一致

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(url);
}
window.location.replace函数在IE下和Firefox下表现不一致。例如:
window.location.replace('?a=123&amp;b=456');
在Firefox下会跳转到
?a=123&amp;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下表现不一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值