主题开启预加载可以加快访问速度,但是在一些程度上还是有一些取舍,比如js中的window.onload事件,就会只运行一次,当你进入到下一个页面的收,window.onload里面执行的内容就完全停止了,甚至可以说没有了,有点像是,你吃着吃着突然就换了一个肚子,这样虽然吃的也多,但是不一样了啊,和原来的对不上了,所以我们还是要针对这种情况,让js代码再次运行,这就相当于换了个肚子,还要接上才能用。
询问了下泽泽,他说《Yodu》的预加载在footer.php中,在if (isInitialLoad === false) {}中,具体如下图:
我们可以看到在这个里面其实有很多if的判断语句,这里你不需要知道这些个是干什么的,你只要知道if语句怎么写,自己写一个就行了,比如我博客的搜索按钮使用的点击js,就是需要在预加载中重新激活,那么我们就在里面做个判断:
[hide]
if(这个代码未执行){重新执行};
那么我们对应的代码最好用function封装一下,方便在这里调用,于是:
if (typeof search() == 'undefined'){search();};
这里我们运行这个代码,然后查看它的typeof值,如果函数运行了肯定是object类型,而没有运行返回的就是'undefined';那么如果等于'undefined',我们便重新运行一次,就这样搞定了,非常简单。
代码插入的位置就在那一段if那里,放上面下面都可以,这是我插入的位置:
[/hide]
以上就是我这次对预加载的一些了解,如果有需要可以参考参考!
枂下
发表于:看看大佬对预加载的处理方法
zizdog
发表于:送上热情的回应
枂下
发表于:再来看下
木灵鱼儿
发表于:常来啊