JSF Webアプリケーションを使用しています。初めてCSSファイルを変更してプログラムを展開するたびに、CSSファイルの変更は反映されません。私は別の状況でそれをテストしました。これはどのようにして起こり、どのように解決できますか?CSSファイルの変更は展開後に反映されません。
答えて
はい、私はCtrlキー+ F5キーを押したときに、それは次にそれはちょうど、ブラウザのキャッシュから提供された
がロードされます。それは完璧です。実際の運用環境でネットワーク帯域幅を節約します。しかし、私は、これが開発中、または製品にアップデートをもたらすたびに邪魔していると想像することができます。開発中にCtrl + F5キーに慣れることを学ぶだけです。しかし、プロダクションではエンドユーザが「トリック」を認識していないかもしれないので、本当に解決したいと思っています。
一般的なアプローチは、要求パラメータとしてバージョン番号をCSSリソースに追加することです。
<link rel="stylesheet" href="style.css?v=1.0" />
大規模な変更を行うたびに、バージョン番号を増分してから本番環境に移行します。
これにより、ブラウザはスタイルシートを再読み込みします。
もう1つの方法は、サーバーの起動時間を使用することです。 JSFを使用しているときは、アプリケーションスコープ管理Beanとしてfaces-config.xml
に宣言されたjava.util.Date
を使用すると簡単にこれを行うことができます。
<managed-bean>
<description>Startup date</description>
<managed-bean-name>startup</managed-bean-name>
<managed-bean-class>java.util.Date</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
次に、あなたがタイムスタンプを取得するためにDate#getTime()
を使用することができます。
<link rel="stylesheet" href="style.css?#{startup.time}" />
これは、のようなHTMLに生成されます。
<link rel="stylesheet" href="style.css?1314105929937" />
それは毎回変更しますあなたは、サーバーを再起動しますか、 webappを再デプロイしてください。ブラウザはリソースをリロードすることが強制されます(実際には変更されていない場合も同様です)!キャッシングと帯域幅の使用が協調的であればn)。 JavaScriptや画像などの他の静的リソースにも同じ手法を適用できます。
すでにJSF 2.xを使用している場合は、組み込みの「リソースライブラリのバージョン管理」機能を使用できます。も参照してくださいWhat is the JSF resource library for and how should it be used?
私はcssファイルを変更しながら同じ問題を抱えていて、サイトをリフレッシュする必要があり、かなりannyoingと非常に不自由だった。
最終的に私はあなたのプロジェクトに実装する必要があるこの素敵な「ツール」、つまりjavascriptファイルを見つけました。 サイトをもう一度更新する必要はなく、CSSファイルを保存するだけで、2,3秒後に自動的に変更が適用されます。ここで
はリンクです:ところでhttp://cssrefresh.frebsite.nl/
、いつものようにBalusC、から非常に便利なトリック;)
あなたが言ったように使ってみましたが、私のために働いていません。 jsファイルをダウンロードしてプロジェクトに入れましたが効果はありません: – Aditzu
- 1. CSSファイルの変更はブラウザに反映されません
- 2. Htmlファイルの変更はMVC3に反映されません
- 3. aureliaテストビューの変更はビューモデルに反映されません
- 4. プロジェクト名の変更はGitHubに反映されません
- 5. Alpacaタイトルの変更は反映されません。
- 6. QSqlTableModel:最後のチェックステートの変更がデータベースに反映されません
- 7. 幼虫5.1 - htaccessの変更に反映されません
- 8. アクセスデータベースの変更がIISに反映されていません
- 9. 変更が私のサイトに反映されていません
- 10. Shopify Brooklynテーマ:変更は反映されません
- 11. (ngModel)が変更イベントハンドラに反映されていません
- 12. prestashopテーマに変更が反映されていません
- 13. XAMLに変更が反映されていません
- 14. PHPインクルードにファイルの変更が反映されていません
- 15. SolrConfig.xmlファイルの更新が反映されていません
- 16. Squarespace開発者モードでFTP経由でアップロードされたファイルに変更が反映されていません
- 17. magento2のdeployコマンドの後にCssの変更が反映される
- 18. プッシュされた変更はgitリポジトリに反映されていません
- 19. VueJS:親オブジェクトの更新は子に反映されません
- 20. CSSの変更がビジュアルスタジオに反映されない
- 21. CSSへの変更がd3.jsサイトに反映されない
- 22. ASP.NET MVC 5アプリでは、バンドルされたCSSに元のCSSファイルが反映されていません
- 23. 初期化後に変数が変更され、インターフェイスに反映されません
- 24. 角度2の購読値の変更はHTMLに反映されません
- 25. cmd + rの後に変更がシミュレータに反映されない
- 26. 環境変数の変更がPythonに反映されていません
- 27. Dockerfile volume:ローカルの変更はドッカーに反映されていません
- 28. 依存関係の変更はアプリケーションに反映されていません
- 29. CSSフォントサイズの変更は機能しますが、WYSIWYGエディタに反映されませんWordpress
- 30. Xcode 9の変更点はmainStoryboardに反映されていませんが、同じ変更がシミュレータに反映されています
は1、その他を除外するには、ブラウザでCtrl + F5キーを押したとき、彼らはロードしていますか? – BalusC
はいCtrl + F5を押すとロードされます。 – qazal
はい、Ctrl + F5を押すとロードされます。この手段では、最後のCSSはブラウザの現金に残ります。どのように私は現金でこの問題を解決することができますか? – qazal