加载时压缩帧内的图像

Posted

技术标签:

【中文标题】加载时压缩帧内的图像【英文标题】:Compress images on load that are within frames 【发布时间】:2013-01-02 18:11:27 【问题描述】:

我们开发了这个网站:http://www.aloha-connect.com/

我们的问题是,在这个页面中,我们有很多框架。在某些情况下,框架中的框架。

我们的问题是,在低带宽的连接上。加载可能需要很长时间。我们曾尝试使用 php gzip code: 加载,但我们注意到框架内容加载速度不快。然后我们尝试将代码也放在框架页面中,但没有任何区别。

同样的情况也发生在这个页面上http://aloha-connect.com/rates/

感谢任何支持/建议。

【问题讨论】:

你为什么不用include()?这些 iframe 位于同一站点上,因此使用起来很有意义。 如果您的瓶颈是网络带宽,那么 gzip 压缩可以帮助缩短加载时间。如果您的瓶颈是服务器或客户端 CPU,那么 gzip 压缩可能会变得更糟,特别是如果您使用的 gzip-9 [最高压缩] 通常具有 令人震惊 的高 CPU 使用率。 编辑:天啊,这么多帧。说真的,你不需要那么多帧。犯罪... 【参考方案1】:
    查看并尝试修复来自Google pagespeed 的任何高优先级和中等优先级项目 去掉不必要的帧(全部)。您将此标记为 PHP,因此请使用 PHP include() 来包含来自其他文件的内容。 (正如@cryptic 所指出的,您必须从包含的文件中编辑 html 才能正确显示) 当您有很多图标和小图像时,请使用 CSS Sprites。将您的图标放在一张图片中,然后使用 CSS 仅显示正确的图标:http://css-tricks.com/css-sprites/ 将所有 CSS 压缩到一个 css 文件中,将所有 JS 压缩到一个缩小的 JS 文件中。 How to minify JS or CSS on the fly 使用CDN for jQuery。

【讨论】:

谢谢,我会好好回报的。手指交叉它会起作用的。 @user1991890 您不能只使用include(),因为您的文件包含带有附加标记的完整 HTML 页面,因此包含它们会破坏站点的布局并使标记格式严重错误。您需要编辑每个 iframe 的页面以仅包含您需要包含到父页面中的内容。【参考方案2】:

是否所有帧都来自同一个域?

请记住,浏览器会限制对同一域的请求数量。我认为当前设置为 2。这包括 HTML 页面、图像、脚本、CCS 文件。

一种常见的解决方法是在其他域上托管一些资源,例如 cdn1.mydomain.comcdn2.mydomain.com。这将允许浏览器一次获取更多资源,可能同时获取所有资源。

如果您在 Firebug 中打开“网络”标签或在 Chrome 中打开“网络”标签,您可以看到哪些请求处于待处理状态。

【讨论】:

以上是关于加载时压缩帧内的图像的主要内容,如果未能解决你的问题,请参考以下文章

在 UITableView 内的 UIImageView 中从 Web 加载图像

下载来自 url 的数据时,重新加载 uitableviewcell 内的 Collection 视图

OpenCV中原始图像加载与保存压缩技巧

用于 Android 小部件的 RemoteViewsFactory 内的通用图像加载器

Android Kotlin - 加载 ImageView 内的图像

这两种完全不同的JPEG加载方式,你肯定见过!