使用 ROT13 密码混淆电子邮件时的参考错误

Reference Error when using ROT13 cipher to obfuscate email

我正在使用 this online tool 创建 JavaScript 代码以使用 ROT13 cipher 混淆电子邮件地址,它工作正常,但是我得到以下 JS ReferenceError 使用时:

ReferenceError: eo is not defined

这是我使用的代码:

<span id="obf">
    <script>document.getElementById("obf").innerHTML="<n uers=\"znvygb:vasb@zzjgenqrznexf.pbz.nh\" >vasb@zzjgenqrznexf.pbz.nh</n>".replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});document.body.appendChild(eo);</script>
    <noscript>[Enable JavaScript to see email]</noscript>
</span>

脚本末尾的这段代码似乎是罪魁祸首:

document.body.appendChild(eo);

知道问题出在哪里吗?

试试这个……脚本的最后一部分完全错误:

<span id="obf">
    <script>document.getElementById("obf").innerHTML="<n uers=\"znvygb:vasb@zzjgenqrznexf.pbz.nh\" >vasb@zzjgenqrznexf.pbz.nh</n>".replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});</script>
    <noscript>[Enable JavaScript to see email]</noscript>
</span>

看看他的 GitHub。它有一些更多的说明,包括您应该首先通过 javascript 混淆邮件。就像提到的 devnull69 一样,最后一部分可以省略。 GitHub.

的文档中确实省略了它

编辑:查看页面的 HTML,eo 对象确实用于某事。查看 line 58 and line 144