项目总结之阻止页面资源加载window.stop()

今天在做项目的时候遇到了这样一个问题,从合同列表跳转到合同详情,由于合同详情全部是由图片展示出来的,有时候一份合同可能有好几十张图片,这就影响了加载速度,导致图片加载很慢,所以我就自己写了一个图片懒加载的插件(参考echo.js写的 首先先给图片一个默认loading图片,然后给img标签加一个data-echo的属性,这个属性等于一个请求回来的url地址,当下拉到这个图片出现在可视区域的时候,把data-echo的值赋给src属性,这就实现了懒加载,稍后会做具体的总结)。懒加载只是让用户体验更友好了,但是图片的加载依然很慢。why?最终我发现了原因,原因在于由于图片加载很慢,我进入到第一个合同详情后,我等不及了,就返回到合同列表页,然后又进入到第二个合同详情里面,这个时候更慢了,于是我发现虽然我从第一个合同详情里面退出了,但是图片的url请求加载依然存在,即使我到了第二个页面,第一个页面的请求依然存在,所以就层层累加,导致请求越来越多,加载越来越慢。因为要把前面的都加载完之后才能加载本页面的请求。
那有什么好的解决方案呢?我的答案是当我离开这个页面后就停止对这个页面资源的加载。那怎么是实现呢?我找了好长时间,终于让我找到了,是它,是它,window.stop(),当我点击返回按钮的时候我就调用.window.stop(),回到列表业的时候,上个合同详情页面的请求资源全部停止了,再进入到另一个合同详情的时候,只加载当前页面的请求资源。这就是我的解决方案。这也让我知道了基础的重要性。
window.stop() 之前没有接触过,但是听过,也不知道具体是干什么的,这次得好好总结一下。
Window​.stop() 此方法用于阻止页面资源加载
stop() 方法的效果相当于点击了浏览器的停止按钮. 由于已经加载的脚本的顺序, stop() 方法不能阻止已经包含在加载中的文档,但是它能够阻止较大的 图片,新窗口,和一些延迟加载的对象的加载.
stop()方法不建议在Internet Explorer中使用.
简单实用,所以基础知识一定要打牢!
关于window的其他方法可以看这篇文章链接如下:js停止(阻止)浏览器继续加载内容

你可能感兴趣的:(javascript,项目总结,javascript,app)