让instantclick兼容MathJax、百度统计等

作者:

由于 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 的重新运行。

Q. E. D.

类似文章:
IT » LaTeX, MathJax, 数学公式
如果让我投票最优秀的开源项目,我会投给 MathJax 。MathJax 是一个 JavaScript 引擎,用来显示网络上的数学公式。阅微堂上所有数学公式都用 LaTex 写出,通过 MathJax 来显示。
IT » MathJax, latex, wordpress
此插件已经不再维护,但理论上可继续使用。
上一篇如何计算收益率 中有一个例子,基金经理的表现挺好,但最后投资人的实际表现却相对较差。这意味着一项投资的最终表现依赖于多个影响因素,而绩效分解便是如何定量的将实际表现分解到这各个影响因素上去。
投资 » 低风险投资
我是最早从《低风险投资之路》中听到「低风险投资」这个词。这本书的作者从 2005 年开始,将所有家庭资金投入到股票市场,采用低风险投资的方式,至今总收益率已超过 10 倍。