最近做了一个程序发现我的onload方法居然每次加载页面都执行了,努力找了两三天问题,终于发现其中的奥妙了

onload是否执行是要看你的页面是卸载了还是隐藏了,只有卸载的页面才会执行onload,因为卸载代表页面的生命周期结束,下次进入的时候就进入一个新的生命周期了

那么什么时候算卸载,什么时候算隐藏呢?

比如A页面是程序的首页,我从A页面进入B页面,这时候是A和B两个页面都存在生命周期,当由B退回A,那么B的生命周期结束了,当你再从A进入B页面,相当于从新开了B的生命周期,所以每次从A打开B,都会执行onload,那么我又从B进入了C页面,这时候从C退回B,那么C得生命周期结束,B的页面显示,这时候就不会执行B的onload,那么我再打开C就会执行C的onload。

总结来看就是我这个页面如果是打开的就要每次都要执行onload,这个页面是退回的就不会执行onload

希望此次解析能让大家理解onload的使用场景

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐