详解如何让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 相关文章推荐
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
JavaScript将相对地址转换为绝对地址示例代码
Jul 19 Javascript
JavaScript动态插入script的基本思路及实现函数
Nov 11 Javascript
Javascript中的默认参数详解
Oct 22 Javascript
JavaScript中判断整数的多种方法总结
Nov 08 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
Feb 26 Javascript
JavaScript继承模式粗探
Jan 12 Javascript
解析JavaScript模仿块级作用域
Dec 29 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
Apr 27 Javascript
JS如何把字符串转换成json
Feb 21 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
Oct 26 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
Dec 10 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 magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
写出高效jquery代码的19条指南
2014/03/19 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
vue filters的使用详解
2018/06/11 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
python方向键控制上下左右代码
2018/01/20 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
python判断正负数方式
2020/06/03 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python