回答
也許mod_pagespeed從谷歌?這會爲你透明地做到這一點。 +1爲gzip和deflate任何一種方式。
mod_pagespeed是爲了這種情況。但它仍然在執行每個請求。 – clockworkgeek 2010-12-10 16:32:28
這是非常真實的,我喜歡利用整頁緩存作爲節省時間的想法。你對HTML通縮對mod_pagespeed花了多少時間有了一個想法嗎?我對這個問題的重要性沒有意義。 – 2010-12-10 22:39:54
由於它是本地代碼,它必須比腳本版本更快。當然還有其他的緩存選項,mod_disk_cache和mod_mem_cache,儘管我不確定它們是在mod_pagespeed之後實例化的,還是可以使用反向代理。這些緩存選項通常需要Expire和Vary頭文件,Magento沒有設置它們,因此它們的用處可能會受到限制。基本上我不知道,只有一個調試配置文件工具可以告訴你。 – clockworkgeek 2010-12-10 23:31:09
理想情況下,您希望在輸出緩存之前執行縮小操作,以避免頻繁執行縮小操作。我能想到的最好的地方是通過重寫Mage_Page_Block_Html
並添加以下功能到你的新類:
protected function _toHtml()
{
$html = parent::_toHtml();
// MINIFY CONTENTS OF $html HERE
return $html;
}
這種方式,執行整個頁面的動作一次,返回值然後可以通過Magento的在緩存這是通常的方式。它不是單獨在每個塊上執行,這可能效率較低。
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
和輸出本身
lib/Zend/Controller/Response/Abstract.php
像往常一樣優秀的答案 – 2010-12-11 10:37:27
我已經使用上面的代碼,但它似乎不工作與整個頁面緩存:( – 2013-12-18 11:03:55
也許有人來到這裏,會發現這Magento的延長有幫助的sendResponse
和outputBody
方法發送:http://www.magentocommerce.com/magento-connect/html-minify-by-jemoon.html
- 1. 將html輸出縮小爲一行
- 2. 咕嚕聲/彙編 - 輸出html縮小
- 3. 輸出壓縮HTML
- 4. 從rapidjson中縮小輸出
- 5. 中等縮小HTML(來自美麗湯的輸出)
- 6. 如何在單行上縮小Wordpress輸出html代碼?
- 7. 縮小HTML輸出,但保留某些標記
- 8. HTML縮小6.0
- 9. 壓縮Magento的HTML代碼
- 10. 如何在Symfony2中壓縮html輸出?
- 11. 如何在PHP中壓縮html輸出?
- 12. 如何縮小Rails中的JSON輸出?
- 13. 如何測試JavaScript縮小輸出
- 14. 未生成縮小輸出的Webpack
- 15. HTML,CSS,JS縮小
- 16. 如何縮小HTML?
- 17. 在Magento產品頁面上縮小了HTML <head>?
- 18. 如何在App Engine上從地圖縮小壓縮輸出?
- 19. 壓縮/縮小在C#中的HTML MVC
- 20. 如何縮小HTML代碼?
- 21. 如何縮小Html元素?
- 22. 用HTML/CSS縮小文本
- 23. 使用Docpad縮小html
- 24. 強制HTML頁面縮小
- 25. C#中的HTML縮小#
- 26. 自動縮小HTML內容
- 27. HTML沒有移動縮小
- 28. Magento簽出小錯誤
- 29. 縮進Java輸出
- 30. SPHINX輸出壓縮?
這個問題問得好,+1,但你怎麼想壓縮HTML ? – 2010-12-10 15:32:40