私のjsf-projectのjavascriptリソースの読み込み順序に問題があります。JSF 2.2:headの代わりにbodyにjsf.jsとomnifaces.jsを手動で出力
<o:commandScript name="ALL.selectTypes" action="#{bean.typeSelected}">
:私はall.jsで定義されたJavaScript関数をomnifaces commandscriptタグを使用する一部のページで
<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>
:私のマスターテンプレートでは、私はページの一番下にあるすべてのスクリプトを読み込みます
私は両方のスクリプトは自分ながら、文書の先頭に表示されますので、理由は、一度にjsf.jsとomnifaces.jsがロードされ、all.jsがまだロードされていないこと、である
ReferenceError: ALL is not defined
を取得スクリプトは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