【问题标题】:Local MathJax loading with turbolinks in Rails 4在 Rails 4 中使用 turbolink 加载本地 MathJax
【发布时间】:2013-12-28 12:25:16
【问题描述】:

我需要在 Rails4 应用程序中使用 MathJax 的本地实例,但是 turbolinks 重新加载存在问题。

我使用 mathjax-rails gem(更新了 mathjax)从项目目录中排除 MJ 分发。

需要添加gem的路由

#routes.rb
mathjax 'mathjax'

布局中的助手

<%= mathjax_tag %>

但是当页面使用 turbolinks 加载时 - mathjax 不会运行。

如果我在页面 ready() 上调用 mathjax 重新加载函数

MathJax.Hub.Typeset();

它将以后备模式加载 - 使用图像而不是字体。

然后我找到了another solution,它使用 jQuery Ajax 重新加载 MathJax。 它与 CDN 完美搭配

http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML

但是当我将路径更改为 MathJax 的本地分布时

/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML

mathjax 主脚本不能包含其他 js 文件,因为丢失了 dist 根路径 (/mathjax)

当我使用 config 手动设置根路径时

root: "/mathjax"

它加载没有错误,但什么也没做。

【问题讨论】:

  • 来自未来的注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 以获取迁移提示(也许为未来的读者更新您的帖子)。

标签: ruby-on-rails-4 reload mathjax turbolinks


【解决方案1】:

这是我的 Rails4 解决方案

$(document).on 'page:load', ->
  window.MathJax.Hub.Queue(["Typeset",MathJax.Hub]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    相关资源
    最近更新 更多