問題タブ [combinedresourcehandler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsf - Omnifaces CombinedResourceHandler-特定のリソースを抑制する方法はありますか?
Omnifaces1.0をRichfaces4.0と組み合わせて使用しています。通常、Richfacesに含まれているcss / jsの一部は不要で扱いにくいため、抑制しています。これを行うには、レンダラータイプのjavax.faces.resource.Scriptまたはjavax.faces.resource.Stylesheetのカスタムレンダラーを定義します。
org.omnifaces.resourcehandler.CombinedResourceHandlerを有効にすると、以前に抑制されていたCSSの一部が結合されているように見えます。ResourceHandlerから除外したいアセットを定義する方法はありますか?
jsf - Omnifaces: Richfaces で CombinedResourceHandler を使用する
CombinedResourceHandler
Richfaces アプリケーションで使用する場合、スタイルシートとユーザー定義スクリプトのみが組み合わされます。標準の JavaScript リソースとすべての Richfaces 固有のリソースは、別個のリソースとして残ります。
Omnifaces のドキュメントには次のように記載されています。
RichFaces はいくつかの JS ファイルで同じ問題を抱えていますが、これは今のところ回避策が簡単ではありません。
だから私の質問は、この「重要な回避策」が何であるかということです?
私が見る限り、返されたCombinedResourceHandler
ときにリソースを処理しません。これらは によって処理されます。getRendererType()
org.richfaces.renderkit.ResourceLibraryRenderer
org.richfaces.renderkit.html.ResourceLibraryRenderer
ここで、RichFaces の動作と OmniFaces を組み合わせる最良の方法が何であるかはわかりません。
jsf - CombinedResourceHandler で RichFaces JS ファイルを除外する
CombinedResourceHandler
RichFaces JS ファイルを無視することは可能ですか?
Richfaces 最適化をオフにした RichFaces を含むすべての JS ファイルを omnifaces に結合させると、
次の例外が発生します
ただし、コンテキスト param に何を入力してorg.omnifaces.COMBINED_RESOURCE_HANDLER_EXCLUDED_RESOURCES
も、Richfaces リソースを除外することはできません。次のようなパラメーター値を試しました
primefaces - CombinedResourceHandler は、PrimeFaces または PF 拡張機能では機能しません
このような 2 つのパネルがある場合、例から始めます。
パネル 2 には「p:fileupload」コンポーネントがあり、デフォルトでは、ページが読み込まれるとパネル 1 が表示されます。パネル 2 に変更すると、「コンテナ」を更新するために ajax リクエストが送信されますが、次のコードが原因で例外が発生します。
どのように推測できるか、一部のコンポーネント (c:if または pe:ckEditor を使用する場合) は、@ResourceDependency アノテーションを使用せずに追加のライブラリをロードします。その場合、リソース「primefaces.js」が存在しないため、例外が発生します。 omnifaces に置き換えられました。
これを解決するための提案はありますか?
jsf - CombinedResourceHandler の除外されたリソースは、クエリ文字列を含むリソースを認識しません
結合したくないCSSファイルがいくつかありますが、それらのリソースのキャッシュもバストしたいので、次のように宣言しました。
を追加するまでは正常に機能していましたCombineResourceHandler
。現在、新しいハンドラーはリソースの名前を認識しません。次のようなワイルドカードを使用してそれらのリソースを除外することはできません。
バージョン パラメータを削除すると、それらのファイルのバージョン管理を行う必要がありますが、これは避けたいことです。
これを最も簡単な方法で実装する方法についてのアイデアはありますか?
jsf - pe:ckEditor を使用すると、org.omnifaces.resourcehandler.CombinedResourceHandler により JavaScript エラーが発生します。
と一緒に使うorg.omnifaces.resourcehandler.CombinedResourceHandler
と、
- OmniFaces 2.2 最終版
- PrimeFaces 5.3 最終版
- PrimeFaces 拡張機能 4.0.0
<pe:ckEditor>
アプリケーションの 1 か所で使用されているものがあります。
次のようにエディターをロードしようとするだけです。
コンソールに次の JavaScript エラーを残します。
キャッチされていない TypeError: 未定義のプロパティ 'replace' を読み取ることができません
<pe:ckEditor>
テスト ケースには、基本的な XHTML 構造とタグ以外は何も含まれていません。
エラーは消えます。
から削除されfaces-config.xml
ます。
からエラーが発生していprimefaces-extensions.source.js
ます。を使用すると、JavaScript コードを単一の JavaScript ファイルにアセンブル/結合する際に、何かおかしなことが発生する可能性があります<pe:ckEditor>
。
OmniFaces 2.1 finalでも再現可能です
jsf - PrimeFaces JS が延期されると、カルーセルの自動再生が機能しなくなる
カルーセルは表示されますが、自動再生されません。コードは次のとおりです。カルーセル<p:carousel autoPlayInterval="4000" effectDuration="2000" effect="fade" circular="true" var="var" value="#{mybean.topratedList}" numVisible="1" responsive="true" >
をオフにするとCombinedResourceHandler
、再び正常に動作します。
私はprimefaces 5.3.7とOmnifaces 2.4を使用してい
ます
更新:この問題は、ここで
説明されているように Omnifaces を使用して PrimeFaces jQuery を CDN に委任するのを停止すると消えます- web.xml からこのコード スニペットを削除します<context-param>
<param-name>org.omnifaces.CDN_RESOURCE_HANDLER_URLS</param-name>
<param-value>primefaces:jquery/jquery.js=http://code.jquery.com/jquery-1.11.4.min.js</param-value>
</context-param>