Web サイト上のすべての電子メール アドレスを 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;
}