【发布时间】:2016-07-04 16:49:24
【问题描述】:
我的网站www.runthisday.com 使用 JavaScript 将 about 页面拉到用户屏幕宽度的 50%,同时将其他组件向左推为 about 页面腾出空间。
问题是当用户第一次点击关于按钮时,这个 JavaScript 非常慢,因为 Chrome 等待图像加载。对于其他网络浏览器,JavaScript 很快,但图像需要一秒钟才能加载。第一次使用按钮后,关于幻灯片工作正常。但真正重要的是第一次。
有没有办法解决这个问题,以便 JavaScript 快速运行,并在单击按钮时立即显示图像?将用户引导到加载页面会解决这个问题吗?如果是这样,你能指导我到某个地方,告诉我如何使用 JavaScript 以这种方式加载网站。
非常感谢您的帮助。
【问题讨论】:
-
您需要缩小图像。您的锤子图像是 5000x3333px 的 res,使其与内容区域的大小相同,并在保存时将 photoshop 或 gimp 中的质量设置为 50% 左右。现在,当文件只需要其当前大小的 15-20% 时,您正在提取大量图像数据......只是要注意 Javascript 没有任何问题,这个问题纯粹是基于资产的
-
您也可以先加载一个低分辨率图像(并且非常快速),甚至可能在显示关于框之前离开屏幕,然后先显示它,然后加载您的全分辨率图像并替换低分辨率图像完成后重新设置。不过,我也建议减少像素数 - 5000x3333 非常大。答案here 可能会对您有所帮助。
-
另外考虑现在 5000x3333 的图像对于移动用户来说是非常占用带宽的,页面加载最终可能会花费他们几 MB 的数据,并且加载速度通常会非常慢,这意味着他们不会留下来加载您的网站
-
嘿,谢谢你们!这真的很有帮助。
-
@c_harrris 不客气,祝你好运! :)
标签: javascript performance image-loading