0
我的jsf-project中的javascript-resources的加載順序有問題。JSF 2.2:輸出「jsf.js」和「omnifaces.js」到人體而不是頭部
<h:body>
...
<ui:insert name="scripts">
<h:outputScript name="js/jquery.js" />
<h:outputScript name="js/chart.js" />
<h:outputScript name="js/all.js" />
</ui:insert>
</h:body>
在一些網頁上我使用omnifaces commandscript標籤與all.js定義的JavaScript的功能:
<o:commandScript name="ALL.selectTypes" action="#{bean.typeSelected}">
在我的主模板我在頁面底部加載的所有腳本
我得到
ReferenceError: ALL is not defined
的原因是,在那和jsf.js被omnifaces.js裝貨時,all.js是尚未加載,因爲這兩個腳本中出現,而我自己的文件頭腳本出現在t他底部。當我把我的腳本
<h:head>
而不是在頁面底部它按預期工作。我可以手動控制這些腳本的外觀,使它們看起來像:
<h:body>
...
<ui:insert name="scripts">
<h:outputScript library="javax.faces" name="jsf.js" />
<h:outputScript library="omnifaces" name="omnifaces.js" />
<h:outputScript name="js/jquery.js" />
<h:outputScript name="js/chart.js" />
<h:outputScript name="js/all.js" />
</ui:insert>
</h:body>
以上嘗試沒有任何影響。無論如何,jsf.js和omnifaces.js都置於頭部。我也試圖與
<o:deferredScript>
更換
<h:outputScript>
,但無法做到了。有沒有其他的選擇?提前感謝提示。
啊,解決了它。 「代碼」 – Steve