关于预加载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 七大技巧(二)
Dec 13 Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 Javascript
JS打开摄像头并截图上传示例
Feb 18 Javascript
AngularJS监听路由变化的方法
Mar 07 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
Jul 06 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
May 30 Javascript
基于vue如何发布一个npm包的方法步骤
May 15 Javascript
Vue.js中的组件系统
May 30 Javascript
浅谈Vue为什么不能检测数组变动
Oct 14 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
JS数组的常用方法整理
Mar 31 Javascript
浅谈JS的原型和原型链
Jun 04 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
我的论坛源代码(一)
2006/10/09 PHP
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
mayfish 数据入库验证代码
2010/04/30 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php实现点击可刷新验证码
2015/11/07 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
取选中的radio的值
2010/01/11 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
小程序自定义日历效果
2018/12/29 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
介绍一下mysql的日期和时间函数
2013/03/28 面试题
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
英语专业学生个人求职信范文
2014/01/06 职场文书
职工运动会邀请函
2014/02/02 职场文书
解除劳动合同协议书
2014/04/14 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
群众路线自查报告及整改措施
2014/11/04 职场文书
小学教师岗位职责
2015/04/02 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python