2015-08-15 44 views
2

我想在使用Meteor時加載外部腳本。通過MeteorJS加載外部JS/JQuery腳本

目前在我的layout.js中使用此代碼取得了一些成功。

Meteor.startup(function() { 
$.getScript('js/scripts.js'); 

});

但是,如果我轉到另一個網址並返回到該腳本,腳本不再有效。 (我看到它不工作,因爲我的背景封面圖像消失。)

感謝在先進的任何人與專業知識,以協助我。

回答

4

任何外部腳本都應該放在client/compatibility中,Meteor會爲你加載;無需$.getScript('js/scripts.js');

然後,您可以實例化類的模板腳本:

Template.game.onRendered(function(){ 
    $('.grid').isotope({}); 
}); 
+0

不爲那些需要在身體的末端被加載,資產已經被加載後,某些腳本。 (例如scripts.js和parallax.js) – eddiewang

+0

確實如此。只要確保在模板準備就緒時始終加載該腳本。在流星世界中,你會做'Template.game.onRendered(function(){});'(就像你發現了你自己)。我沒有看到它會在哪裏尋找'/ js/scripts.js'。我希望我的公共目錄。但由於很多原因,這是不好的做法。 –

+0

你說得對。我明白爲什麼這是不好的做法。我更新了我的代碼以使用您的代碼!此外,出於某種原因,僅限於50%的時間內,Render。我認爲同位素方法搞亂了(onRendered不考慮要加載的圖像,所以scripts.js在加載圖像之前執行砌體/燈箱函數)。 你知道嗎?如果這是問題,我該如何解決它,或b。我完全錯了,這是另一個問題。 – eddiewang

1

對於任何需要此幫助的人,請使用Template.name.onRendered替換Meteor.startup。這有助於解決我的問題。 乾杯!