我将网站上的所有电子邮件地址编码为 ROT-13,然后使用 Javascript 解码地址(以避免垃圾邮件)。但是,完全解码在 IE 7 或 8 中不起作用。在 Chrome、Safari、Firefox 中表现出色。关于出了什么问题的任何想法?
更新 链接“href”正在被正确解码,并且在单击时链接实际上可以正常工作。因此,只有链接文本(HTML 内容)无法解码。
这是我正在使用的代码:
/***********************************************
DECODE ROT13 EMAIL LINKS
***********************************************/
$('a.email-encoded').each(function() {
$(this).attr('href', rot13x($(this).attr('href')));
$(this).html(rot13x($(this).html()));
});
function rot13x(s) {
var rxi = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var rxo = 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm5678901234';
var map = [];
var buf = '';
for (z = 0; z < rxi.length; z++) {map[rxi.substr(z, 1)] = rxo.substr(z, 1);}
for (z = 0; z < s.length; z++) {
var c = s.charAt(z);
buf += (c in map ? map[c] : c);
}
return buf;
}