2014-01-28 45 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呼叫中結合所有的東西,這樣會很好......不是很好...... –