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

来源:互联网 发布:网络电话卡代理 编辑:程序博客网 时间:2024/06/02 00:34
 

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 .= "<scripttype=/"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属性无法通过HTMLValidator验证。

[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下表现不一致