首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on Rails & MathJax -如何强制页面重载以便渲染mathjax?

Ruby on Rails & MathJax -如何强制页面重载以便渲染mathjax?
EN

Stack Overflow用户
提问于 2020-08-03 14:27:11
回答 1查看 137关注 0票数 0

我使用的是rails v6.0.3.2和ruby 2.7.1。我将文本放在ActionText富文本框中。当页面第一次加载时,我的mathjax不会被呈现。如果我刷新页面,它就会呈现出来。我需要(1)确保在页面第一次加载时渲染mathjax,或者(2)强制页面重新加载。显然,前者更好。

我在mathjax docs here中读到,我可以使用以下javascript (我放在我的application.js中)来实现前者(但它不起作用):

代码语言:javascript
复制
(function () {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src  = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML";
  document.getElementsByTagName("head")[0].appendChild(script);
})();

在我的application.html.haml视图中,我加载了mathjax CDN和一些代码来启用单美元符号表示法:

代码语言:javascript
复制
:plain
      <!--               MathJax                   -->
      <!-- This implements single $ as a delimiter -->
      <!-- This MUST come before the CDN reference below -->
      <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
        tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']],
        processEscapes: true}
        });
      </script>

      <!-- Mathjax: latest CDN version -->
      <script type="text/javascript" async
        src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML">
      </script>

如何启用mathjax的“动态”呈现,或者在页面首次加载时强制页面刷新?

EN

回答 1

Stack Overflow用户

发布于 2020-08-04 08:09:11

我的新答案

我想我找到了一个更好的答案来解决我的问题。在这个SO suggestion之后,我在更新之后(使用after_action回调)使rails缓存无效。现在,它似乎正在重新处理mathjax,而不会破坏已经存在的东西。

我的上一个答案

在阅读turbolinks documentation here时,我了解到可以在application.html.haml文件中插入以下元标记来强制页面重新加载:

代码语言:javascript
复制
<head>
  ...
  <meta name="turbolinks-visit-control" content="reload">
</head>

实际上这是haml版本:%meta{:content => "reload", :name => "turbolinks-visit-control"}/

的问题是,如果我编辑的页面上有预先存在的mathjax,分隔符就会被剥离,我必须在我的编辑中重新输入它们(这使它变得非常痛苦)。在我添加meta标签之前,这并没有发生。

我可以容忍这一点,但如果有人能提出更好的方法,我会洗耳恭听。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63224690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档