答えて
Googleのmod_pagespeedですか?それはあなたのためにそれを透過的に行います。 gzipの場合は+1、いずれの場合も収縮します。
この種の状況のためにmod_pagespeedが作成されました。しかし、それは依然としてすべての要求に対して実行されています。 – clockworkgeek
これは非常に真実です。私は、全面的なキャッシュをタイムセーバーとして利用するというアイデアが気に入っています。 HTMLデフレーションがmod_pagespeedにどれくらいの時間を要するかについて考えていますか?私はこれがどれほど重要な問題であるかについての感覚を持っていません。 –
ネイティブコードなので、スクリプト版よりも高速でなければなりません。他のキャッシングオプション、mod_disk_cacheとmod_mem_cacheがありますが、mod_pagespeedの後にインスタンス化されているかどうか、またはリバースプロキシを使用できるかどうかはわかりません。キャッシュオプションのこれらの種類は、一般的に、Magentoが設定しないExpiresおよびVaryヘッダーを必要とするため、その有用性が制限される可能性があります。基本的にはわかりませんが、デバッグ用のプロファイルツールだけがあなたに伝えることができます。 – clockworkgeek
出力がキャッシュされる前に縮小を実行して、あまり頻繁に実行しないようにするのが理想的です。
protected function _toHtml()
{
$html = parent::_toHtml();
// MINIFY CONTENTS OF $html HERE
return $html;
}
それはページ全体のために一度アクションを実行します。この方法で、返される値は、その後にMagentoのでキャッシュされることがあります。私は考えることができる最高の場所はMage_Page_Block_Html
をオーバーライドして、新しいクラスに次の関数を追加することですそれは通常の方法です。個々のブロックでは効率的でない可能性があります。
Magentoはレスポンスオブジェクトを使用してすべての出力を送信します。
すべての出力がこのオブジェクトに追加され、次にsendResponse
メソッドが呼び出されます。
あなたはhttp_response_send_before
イベント
<!-- in your module's config.xml -->
<http_response_send_before>
<observers>
<unique_name>
<type>singleton</type>
<class>group/observer</class>
<method>alterOutput</method>
</unique_name>
</observers>
</http_response_send_before>
そして、あなたのオブザーバーにあなたが身体を取得および設定するための出力、セットアップリスナーを変更したい場合は
class Packagename_Modulename_Model_Observer
{
public function alterOutput($observer)
{
$response = $observer->getResponse();
$html = $response->getBody();
//modify html here
$response->setBody($html);
}
}
あなたが興味を持っている場合このイベントは、次のクラスのsendResponse
メソッドで呼び出されます。
app/code/core/Mage/Core/Controller/Response/Http.php
出力自体はたぶん、ここに来て、誰かがこのMagentoの拡張が参考に見つけるかもしれない
lib/Zend/Controller/Response/Abstract.php
いつものようにすばらしい答え –
私は上記のコードを使用しましたが、フルページのキャッシュではうまくいかないようです。 –
のsendResponse
とoutputBody
方法で送信されます。http://www.magentocommerce.com/magento-connect/html-minify-by-jemoon.html
- 1. Gulp-uglifyは縮小出力ファイルを生成しません
- 2. Python json.dumps(<val>)は縮小されたjsonを出力しますか?
- 3. 出力を縮小する必要があります。文書のリストへの縮小
- 4. メディアンカットカラー縮小アルゴリズムの出力パレットをソースイメージに適用する
- 5. .XAPファイルサイズを縮小しますか?
- 6. JSONをPowerShellで縮小しますか?
- 7. コマンドラインでPNGを縮小、縮小、縮小する方法は?
- 8. Hadoopで縮小入力グループの数を取得します。
- 9. ANTを使用して、jUnit出力をサマリーに縮小する方法は?
- 10. npmスクリプトを使用してBrowserifyの出力を縮小する方法
- 11. 画面を縮小した後の出力を反映するHTMLコード
- 12. Silverlightのスケーリングコントロールはコントロールを縮小しますが、スペースは縮小しません
- 13. reduce_by_key()から2つの縮小ベクトルの関数として出力
- 14. Symfonyの特定のアクションの出力を圧縮しますか?
- 15. JEKYLL_ENVに基づいてSASS出力を圧縮しますか?
- 16. テキストボックスサイズの縮小/縮小
- 17. ガルプ - 基本連結/縮小化doesntの出力ファイル
- 18. jsファイルをRailsでレンダリングして出力を縮小することはできますか?
- 19. eBay出品リストのサムネイルサイズを縮小
- 20. makefileファイルを縮小します
- 21. Silverlightで画像の縮小(縮小)
- 22. 縮小されたJavaScriptを出力するためのTypeScriptのロードマップはありますか?
- 23. コンテンツが縮小したときに動的にGTK +のウィンドウを縮小しますか?
- 24. 複数の入力フォーマットから縮小するHadoop
- 25. GMMマウスホイールで拡大/縮小します。
- 26. オブジェクトから部分を抽出し、新しい縮小版を作成する
- 27. webapp2の展開時にjavascriptとcssを縮小/圧縮しますか?
- 28. 画像を入力から拡大縮小
- 29. データベースファイルをワンショットまたはインクリメントで縮小しますか?
- 30. .ldfファイル縮小またはサイズ縮小 - 推奨ソリューション
良い質問、+1が、どのようにあなたがHTMLを縮小化したいです? –