详解如何让InstantClick兼容MathJax、百度统计等


Posted in Javascript onSeptember 12, 2017

之前有网友提及博客上的LaTex(由MathJax实现)坏掉了,其原因是这里使用了instantclick,以达到网页秒开的效果。但由于instantclick不会重新运行位于head部分的JavaScript代码,而很多工具性软件,比如MathJax、百度统计、Google Analytics、Google Code Prettify等软件都是直接将JS文件插入到head区域。这导致这些工具在instantclick点击后失效,需要重新配置。

配置并不复杂,这些工具本身的代码不用做任何修改,该怎么放还怎么放。但在InstantClick.init();之前添加以下代码:

<script data-no-instant>
InstantClick.on('change', function(isInitialLoad) {
 if (isInitialLoad === false) {
  if (typeof MathJax !== 'undefined') // support MathJax
   MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
  if (typeof prettyPrint !== 'undefined') // support google code prettify
   prettyPrint();
  if (typeof _hmt !== 'undefined') // support 百度统计
   _hmt.push(['_trackPageview', location.pathname + location.search]);
  if (typeof ga !== 'undefined') // support google analytics
    ga('send', 'pageview', location.pathname + location.search);
 }
});
InstantClick.init();
</script>

这段代码的含义是每次页面重载时,通过直接的函数调用来实现MathJax、百度统计、Google Code Prettify、Google Analytics的重新运行。

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

Javascript 相关文章推荐
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
Dec 19 Javascript
js实现简单的左右两边固定广告效果实例
Apr 10 Javascript
简单对比分析JavaScript中的apply,call与this的使用
Dec 04 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
May 19 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
AngularJS HTML DOM详解及示例代码
Aug 17 Javascript
利用JavaScript判断浏览器类型及版本
Aug 23 Javascript
微信小程序-详解数据缓存
Nov 24 Javascript
利用nginx + node在阿里云部署https的步骤详解
Dec 19 Javascript
js字符串倒序的实例代码
Nov 30 Javascript
如何利用vue实现波谱拟合详解
Nov 05 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
JavaScript中递归实现的方法及其区别
Sep 12 #Javascript
详解react-native-fs插件的使用以及遇到的坑
Sep 12 #Javascript
You might like
php eval函数用法总结
2012/10/31 PHP
php生成验证码函数
2015/10/20 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
Python3读取文件常用方法实例分析
2015/05/22 Python
Python图算法实例分析
2016/08/13 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Python求离散序列导数的示例
2019/07/10 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
一些.net面试题
2014/10/06 面试题
退休感言
2014/01/28 职场文书
心理健康课教学反思
2014/02/13 职场文书
企业办公室岗位职责
2014/03/12 职场文书
创建青年文明号材料
2014/05/09 职场文书
经营理念标语
2014/06/21 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
法人身份证明书
2015/06/18 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书