2012-08-25 50 views
5

我有一個網站由GitHub託管使用Jekyll,我已經(成功)使用內部定義的腳本在每個佈局,將從他們的數組中產生一個隨機標語。麻煩鏈接外部JavaScript與Jekyll

我試圖將這個腳本移動到外部tagline.js,但到目前爲止我一直不成功。

這裏是基本的標語生成腳本,萬一有什麼東西在代碼造成這種(我懷疑,說實話,由於其簡單,但它總是一種可能性):

 
var tags = [ 'tag1', 'tag2', 'tag3' ];

function getTag() { 
    return tags[Math.floor(Math.random() * tags.length)]; 
} 

$(document).ready(function() { 
    $("#tagline").text(getTag()); 
}); 

就像我說的,當它是內部的時候它工作的很好,但是當我嘗試鏈接到外部時它不會。我很確定這只是我指向<script>的情況:包含<script>的HTML文件位於_layouts/default.html中,但腳本位於scripts/tagline.js

編輯:對不起,我當時使用「<link>」,當我的意思是「<script>」。這樣就消除了「您使用錯誤標籤」的解決方案! :P

EDIT2:全<script>(同樣,位於_layouts/default.html HTML文件)是這樣的:<script type="text/javascript" href="../scripts/tagline.js"></script>

回答

4

要使用的腳本調用的屬性是src,而不是href。例如:

<script type="text/javascript" src="../scripts/tagline.js"></script> 

此外,我強烈建議使用站點根(又名docroot)而不是相對於文件的路徑。這樣你就可以在多個地方使用相同的呼叫,並且它總是會打到正確的位置。要使用docroot相對URL,請使用/開始路徑。

假設你的腳本位於http://example.com/scripts/tagline.js,你打這個電話是:

<script type="text/javascript" src="/scripts/tagline.js"></script> 

如果不使用文檔根目錄,你會不斷地有不同的地方在HTML文件調用腳本來調整路徑位於樹上。如果所有的文件都在同一個地方,這並不是什麼大不了的事情,但這是一個很好的習慣,以避免問題的發生。

+0

Derp,謝謝!我知道這是我在做錯誤的HTML。 – ChaoticWeg

+0

每個人都完成了相同或類似的事情數百萬次。有時它只是需要另一雙眼睛。很高興你得到它。 –