关于预加载InstantClick的问题解决方法


Posted in Javascript onSeptember 12, 2017

昨晚在改造的时候代码高亮没法执行,准确的说是只执行一次,第二次就不执行了。所以发文说明一下,而且大致看了InstantClick的文档,主要还是一个黑名单区域的问题。按我个人的理解,黑名单主要包含两种比较常见的过滤类型,一种是a标签,另一种是js。根据其原理实际上就是对黑名单区域不进行处理(按正常手动打开的情况加载刷新),这种不处理才能让相关的结构和js起作用。。

所以在InstantClick执行时,看它的引用语句:

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/instantclick.min.js" data-no-instant></script>
<script data-no-instant>InstantClick.init();</script>

语句作用就过滤掉了InstantClick它本身,相当于在执行后正常刷新一遍自己。

正常加载刷新js

语句本身的data-no-instant参数意思就是不处理,并且正常刷新这部分结构。所以如果要其他js在InstantClick下起作用,必须将js本身刷新,可以把代码写入instantclick.min.js里面,也可以带上data-no-instant参数独立引用。如果不将自己的js写入instantclick.min.js内,就要利用它的四个参数来重新载入,参考:http://instantclick.io/scripts

<script data-no-instant>
InstantClick.on('change', function() {
// 回调
});
InstantClick.init();
</script>

a标签

InstantClick对新窗口打开的a标签是不处理的,还有在带有data-no-instant参数的标签包裹下的a标签也不会处理。如<div data-no-instant>这部分会按正常情况刷新</div>。

最后总结:data-no-instant属性是用来避免instantclick在页面切换时对该元素重复加载(意思就是按正常刷新)。它可以用在script、style标签中,也能放在a标签中,表示该链接将使用正常方式打开而不用instantclick加速,但对于div标签是没有用的,这一点必须知晓。

搞清楚上面两点就好办了,之前把它当成是ajax来理解,是整个body请求过来。也就是说把不处理的部分放在body标签之外也是可以的。

值得一提的是,我个人还是很中意它缓存后退前进的功能的,这样非常快。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中的isXX系列是否继续使用的分析
Apr 16 Javascript
解决JS浮点数运算出现Bug的方法
Mar 12 Javascript
Jquery Uploadify上传带进度条的简单实例
Feb 12 Javascript
js实现下拉列表选中某个值的方法(3种方法)
Dec 17 Javascript
Bootstrap table两种分页示例
Dec 23 Javascript
Bootstrap 3 进度条的实现
Feb 22 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
详解Angular模板引用变量及其作用域
Nov 23 Javascript
Vue项目中ESlint规范示例代码
Jul 04 Javascript
javaScript实现一个队列的方法
Jul 14 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
antd配置config-overrides.js文件的操作
Oct 31 Javascript
提升页面加载速度的插件InstantClick
Sep 12 #Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 #Javascript
使用InstantClick.js让页面提前加载200ms
Sep 12 #Javascript
VueJs组件prop验证简单介绍
Sep 12 #Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
Sep 12 #Javascript
67 个节约开发时间的前端开发者的工具、库和资源
Sep 12 #Javascript
react-native DatePicker日期选择组件的实现代码
Sep 12 #Javascript
You might like
php桌面中心(四) 数据显示
2007/03/11 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
d3.js实现自定义多y轴折线图的示例代码
2018/05/30 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Python中使用模块的教程
2015/04/27 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
python web框架中实现原生分页
2019/09/08 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
体育馆的标语
2014/06/24 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书