2012-06-17 35 views
1

我有一個問題,因爲我的網頁中的JavaScript引用自遷移到檢票1.5。 我從wicket頁面向頁眉貢獻了幾個js文件,然後在頁面的組件中使用它們。JavaScript引用在檢票1.5順序

問題是,如果我使用wicket 1.5的方式來貢獻js - 添加在其renderHead方法中貢獻js的行爲,那麼使用js的組件的renderHead會在頁面的renderHead之前調用或頁面添加的行爲,這當然會導致Uncaught ReferenceError。

任何想法如何控制js的順序? 預先感謝您

更新:

經過緊張的搜索,我發現我什麼都願意做的是在檢票1.5幾乎是不可能的。正如解釋here檢票員們決定顛倒js和css的渲染順序 - 最深的組件,然後是容器(而不是其他方式 - 這是1.5的行爲)。渲染策略不能以任何方式配置。

我不希望他們做這樣的改變,特別是沒有讓這個選項覆蓋這個配置。在我的情況下,例如,我有幾十個組件使用jQuery,直到現在才從頁面添加。現在看來,我將不得不改變我現有的所有組件來貢獻jQuery(以及其他所需的js)。 相當苛刻,絕對不會向後兼容。

+0

FYI Wicket 6,ResourceReference可以定義它的依賴關係。甚至有PriorityHeaderItem用於包裝重要的HeaderItems。可悲的是,沒有任何回報到1.5.x分支。 – zeratul021

回答

0

根據Wicket documentation

[報價]

  • 頭標記,你會提供您的實現在renderHead
  • 只是我們的組件渲染,你會覆蓋onRendered或渲染成上面的代碼示例
  • 就在我們的組件渲染之前,您將覆蓋onComponentTag

[/報價]

+0

我看不出這對我有什麼幫助: 1.我所有的js都被提供給標題 2.我有幾十個組件使用頁面貢獻的js 3.我無意進入檢票內部並將js字符串直接寫入響應中,而是使用wicket添加js的抽象。 是否有合理的方法來控制標題排列的順序? – zuckermanori