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

 更新时间:2017年09月12日 16:19:38   作者:zhiqiang  
本篇文章主要介绍了如何让InstantClick兼容MathJax、百度统计等,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

之前有网友提及博客上的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的重新运行。

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

您可能感兴趣的文章:

相关文章

  • 定单管理上 JS表格排序

    定单管理上 JS表格排序

    定单管理上 JS表格排序...
    2006-10-10
  • 浅谈原生JS中的延迟脚本和异步脚本

    浅谈原生JS中的延迟脚本和异步脚本

    下面小编就为大家带来一篇浅谈原生JS中的延迟脚本和异步脚本。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • JS二叉树的简单实现方法示例

    JS二叉树的简单实现方法示例

    这篇文章主要介绍了JS二叉树的简单实现方法,结合具体实例形式分析了基于javascript定义二叉树及二叉树节点的遍历、查找、添加、删除及运算相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • JavaScript 中如何实现并发控制

    JavaScript 中如何实现并发控制

    在日常开发过程中,你可能会遇到并发控制的场景,比如控制请求并发数。那么在 JavaScript 中如何实现并发控制呢?在回答这个问题之前,我们来简单介绍一下并发控制。
    2021-05-05
  • js使用removeChild方法动态删除div元素

    js使用removeChild方法动态删除div元素

    本节为大家介绍了js使用removeChild方法动态删除div元素,需要的朋友可以参考下
    2014-08-08
  • Js实现手机发送验证码时按钮延迟操作

    Js实现手机发送验证码时按钮延迟操作

    在做项目的时候,经常遇到发短信验证码的问题,这时候需要用户点完发送验证码按钮后,一段时间内不能重复点击,毕竟验证码都是收费的嘛,谁都不想浪费,那么如何实现这种功能呢?下面来分享一下。
    2014-06-06
  • 在JavaScript中call()与apply()区别

    在JavaScript中call()与apply()区别

    这篇文章主要介绍了在JavaScript中call()与apply()区别 的相关资料,需要的朋友可以参考下
    2016-01-01
  • 基于JavaScript实现无缝滚动效果

    基于JavaScript实现无缝滚动效果

    这篇文章主要为大家详细介绍了基于JavaScript实现无缝滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法

    基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法

    小编使用bootstrap做的下拉菜单在电脑浏览器中可以正常使用,在手机浏览器中能弹出下拉列表却不能选择列表中的菜单项,怎么回事,如何解决呢?下面小编给大家分享下具体原因及解决办法,一起看下吧
    2016-07-07
  • Bootstrap如何激活导航状态

    Bootstrap如何激活导航状态

    这篇文章主要为大家详细介绍了Bootstrap如何激活导航状态,包括胶囊式导航中的激活状态和列表导航中的激活状态,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论