启动网站时,页面和图像加载速度非常慢
Page and images load very slow when launching the site
我有一个有65张图片的小画廊网站。我创建了一个带有幻灯片放映的简单 html 页面。该网站加载速度非常慢。此外,尝试访问图像时,图像加载速度非常慢。你有什么建议?
这是我加载图像的方式。
<p>
<a href="javascript:void(viewer.show(0))" alt="Launch slideshow" class="m-btn">Launch Slideshow</a>
</p>
<p>
<script type="text/javascript">
var img;
var images = []; // created from loop
var viewer = new PhotoViewer();
for(var j = 1; j < 69; j++){
var fullImg = '/image_'+ ("000" + j).slice(-3) +'.JPG';
viewer.add('photos/image_' + ("000" + j).slice(-3) + '.JPG');
images.push(fullImg);
}
var mastercontainer=document.createElement("div");
mastercontainer.setAttribute('class','mastercontainer');
var main=document.createElement("div");
main.setAttribute('class','main');
var slidesDiv=document.createElement("div");
slidesDiv.setAttribute('class','slideshow');
document.body.appendChild(mastercontainer);
document.body.appendChild(main);
document.body.appendChild(slidesDiv);
for (var i in images) {
var num = parseInt(i);
var img=document.createElement("img");
img.setAttribute('src', 'photos/thumbnail'+images[num]);
img.setAttribute('width', 200);
img.setAttribute('height', 200);
img.setAttribute('style', 'margin-left:10px;margin-right:10px;margin-top:20px;margin-bottom:0px;border:1px solid #000000;border-radius: 10px;');
var link=document.createElement("a");
link.setAttribute('href', 'photos'+images[i]);
link.setAttribute('onClick','return viewer.show('+i+')');
slidesDiv.appendChild(link);
link.appendChild(img);
}
</script>
<br/>
</p>
只需尝试在Chrome/Firefox开发人员控制台中查看网络选项卡,我认为图像是同步加载的,并且它们可能太大,因此加载缓慢。
速度是 Javascript 执行速度还是图像加载速度? 65 张图像可能非常密集,特别是如果它们是通过网络发送的大图像。 检查您的 Chrome 工具可以深入了解这一点。您可以尝试加载相同的小图像 65 次,看看 JS 是否是罪魁祸首,但我的直觉反应是图像加载是瓶颈。在这种情况下,您可以使用imagemagick或GD之类的东西尝试一些服务器端压缩。通常,我会在上传时将图像大小调整为几个标准大小,但这可能并不总是可行的。
为了获得更好的响应能力,您可能需要尝试加载 html 并在需要时延迟加载幻灯片的图像。 即例如在幻灯片的slide
或change
事件上。
除非您要推出自己的幻灯片模块,否则大多数幻灯片插件都内置了此功能。
有一个很棒的jquery插件可以延迟加载图像供您使用
http://www.appelsiini.net/projects/lazyload
尝试延迟加载。在这里寻找jQuery插件:http://www.appelsiini.net/projects/lazyload
相关文章:
- 如何在谷歌字体加载时显示加载图像
- 预加载图像并插入DOM
- 加载图像时加载图标
- 在页面启动期间加载图像
- 预加载图像image.onload脚本MVC
- 可以't在我的React组件中加载图像
- 加载图像后调整HTML画布的大小
- HTML/JS github页面项目没有't在使用firefox运行时加载图像或声音
- 错误:$injector:modulerr加载图像时模块处于角度
- 谷歌地图加载后隐藏加载图像
- 在照片查看器(Javascript和jQuery)中异步加载图像时可能出现错误
- 正在从字节数组加载图像内容
- 网页上已有tinymce加载图像列表
- 单击提交按钮后加载图像将冻结
- 如何使用Express'正确加载图像;s的静态中间件
- 使用jquery即时加载图像
- Html5画布使用JCanvasScript加载图像
- Javascript使用JCanvaScript在画布中加载图像
- 使用jquery/ajax显示加载图像
- ajax缓存false无法加载图像