我正在尝试在我的视图体中提取JS函数(它工作正常)并将其放入外部js文件中作为我可以调用方法的对象。
这是使用Jottings JS email obfuscator,目前我只是输出一个硬编码的链接标记。
我的观点:
<script type="text/javascript" src="/js/email-obfuscator.js">email.encrypt();</script>
我的JS档案:
var email = function()
{
this.encrypt = function()
{
document.write('<a href="mailto:test@example.com">Support</a>');
}
};
我没有得到任何JS错误,但我也没有得到任何输出,这是我第一次尝试创建自己的外部JS对象,任何想法我哪里出错?
答案 0 :(得分:2)
encrypt
方法是您的班级email
的公共方法 - 要使用它,您需要创建电子邮件的实例
var myEmail = new email();
myEmail.encrypt();
如果您想坚持使用当前调用encrypt
方法的方式,则需要使用静态方法:
var email = function() {
// do something
}
email.encrypt = function() {
document.write('<a href="mailto:test@example.com">ELF Support</a>');
}
但最适合您的,取决于您当前的使用情况,如果您需要多个电子邮件实例并且可能加密不同的链接或者它可以保持静态,您需要自己考虑。
<强>更新强>: 几乎忘记了重要的部分:你需要将js文件的加载与实际用法分开:
<script type="text/javascript" src="js/email-obfuscator.js"></script>
<script type="text/javascript">
var myEmail = new email();
myEmail.encrypt();
</script>