回答
也许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