2014-01-28 47 views
-1

我确定我错过了一些非常明显的东西,但没有看到它。我有一些js代码来隐藏我网站上的电子邮件链接。当代码被嵌入到原始网页中(在标签等内)时,所有事情都会按照原样进行。下面是代码,因为它出现在我的网页:在执行外部文件中调用的JS脚本时遇到问题

<script language="javascript" type="text/javascript" > 
<!-- 
var part1 = "et"; 
var part2 = "hoto"; 
var part3 = "comc"; 
var part4 = "MASP"; 
var part5 = "ast.n"; 
var part6 = "PDX"; 
document.write('<a href="mai' + 'lto:' + part4 + part2 + part6 + '@' + part3 + part5 + part1 + '">'); 
document.write('<img src="images/ContactLink-clear.png" style="border-style: none" height="100px" width="300px" alt="Contact Info" title="Contact Info" /></a>'); 
// --> 
</script> 

然而,当我把这个相同的代码,并将其粘贴到一个js文件,并使用叫它:

<script language="javascript" type="text/javascript" src="link.js"></script> 

然后我得到一个断开的链接......有趣的是,邮件似乎起作用,所以我在考虑执行标签有问题,但我没有看到它。为了完整,js文件中的代码是:

var part1 = "et"; 
var part2 = "hoto"; 
var part3 = "comc"; 
var part4 = "MASP"; 
var part5 = "ast.n"; 
var part6 = "PDX"; 
document.write('<a href="mai' + 'lto:' + part4 + part2 + part6 + '@' + part3 + part5 + part1 + '">'); 
document.write('<img src="images/ContactLink-clear.png" style="border-style: none" height="100px" width="300px" alt="Contact Info" title="Contact Info" /></a>'); 

任何想法或创造性建议?预先感谢您的时间!

+0

你害怕被垃圾邮件?这不是一个有效的对策。页面刮板这些日子在页面上运行JS。 –

+0

您可以通过在浏览器上打开您的开发工具轻松进行检查。首先看看link.js是否被加载,然后你可以使用断点来调试.. – user3123529

+0

你的意思是一个断开的链接,如果mailto工作,那么它不完全破裂。另一个想法是不使用document.write,使用DOM函数,如'createElement()'和'appendChild()' –

回答

0

你可以把你的代码的函数里面像这样的:

function obscureMail() { 
    var part1 = "et"; 
    var part2 = "hoto"; 
    var part3 = "comc"; 
    var part4 = "MASP"; 
    var part5 = "ast.n"; 
    var part6 = "PDX"; 
    document.write('<a href="mai' + 'lto:' + part4 + part2 + part6 + '@' + part3 + part5 + part1 + '">'); 
    document.write('<img src="images/ContactLink-clear.png" style="border-style: none" height="100px" width="300px" alt="Contact Info" title="Contact Info" /></a>'); 
} 

,然后在你的身体标记像添加一个电话:

<body onload="obscureMail()"> 
+0

这将是一个很好的方法,但我需要代码放入并在页面上的特定位置内运行... div container –

+0

基本上,我试图在与图像相关的页面上创建一个热链接,并将其放置到特定位置 –

+0

我应该指出,我正在尝试执行此操作以最大限度地减少脚本调用(Google似乎不希望每页看到多个脚本),并且我必须调用另一个js文件以后为jquery幻灯片设置一些函数调用。所以,我认为如果我能够在一个js呼叫中结合所有的东西,这样会很好......不是很好...... –