2013-02-07 15 views
0

我需要在xpage的末尾包含一個javascript文件,以便在自動生成的XSP.addOnLoad事件代碼之後加載它。如何在xpage的最底部添加Javascript資源?

XSP.addOnLoad(function() { 
XSP.attachEvent.... 
} 
<script src="my.js"> 

理想我想將它作爲一個主題的一部分,但如果我這樣做,它進入HEAD部分

所以我可以要麼.. - 指定的主題插入鏈接客戶端js資源位於頁面底部而不是頭部 - 在xpage上直接包含資源,因此它會在自動生成的代碼後面執行

注意:爲了使xpages應用程序正常運行with Foundations http://foundation.zurb.com/docs/

我需要在事件綁定到字段後包含基礎js文件

謝謝!

+0

只是因爲腳本標記是在頁面的結束並不意味着它會在順序觸發 - 該腳本將開始在頁面加載運行 - dojo.onLoad事件(在XSP.addOnLoad中)將在頁面完全加載後開始觸發 - 即在加載基礎腳本庫之後。 理想情況下,您需要一個觸發器來確定XSP.addOnLoad何時完成。這個問題的答案會對你有所幫助。 看基礎網站 - 如果一切都在apps.js初始化,那麼你的觸發器將運行apps.js代碼,而不是讓它自己運行。 – MarkyRoden

+0

是的,我發現問題無論如何都是錯誤的。事件正在解僱,但由於ID中的冒號,jquery代碼正在轟炸。偶然我偶然發現了你幫助我解決問題的xsnippet。乾杯! –

回答

1

嘗試在端添加腳本塊與此代碼:

XSP.addOnLoad(function() { 
    document.write('<script src="my.js">'); 
} 

不過,這可能產生的XSP.addOnLoad之前執行。然後,您可以嘗試一個小黑客就像這樣:

XSP.addOnLoad(function() { 
    setTimeout(document.write('<script src="my.js">'), 200); 
} 
+0

乾杯。我可以看到這是如何工作的,但事實證明我錯誤地診斷了這個問題。看到我的其他評論 - 是由於基金會代碼錯誤,而不是在正確的時間被稱爲。謝謝你的幫助! –