簡體   English   中英

將MathJax腳本添加到Office 365 Sharepoint中的頁面

[英]Add MathJax script to pages in Office 365 Sharepoint

我正在嘗試將Mathjax庫添加到SharePoint庫中,以便我們可以使用LaTex語法添加方程式。

在網上搜索時,我已經看到了幾種方法,但是似乎沒有一種方法可以與最新版本的MathJax和Office 365版本的SharePoint一起正常工作。

我發現一種可以在Chrome瀏覽器中使用但不能在IE和Firefox中使用的解決方案是將javascript鏈接直接添加到母版頁中。 我編輯了seattle.master並添加了以下內容:

<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/2.0-latest/MathJax.js?config=default"></script>

正下方

<SharePoint:CustomJSUrl runat="server" />

它在Chrome瀏覽器中工作正常,但在IE或Firefox中不顯示任何內容。 我在瀏覽器的控制台中沒有任何錯誤消息,只是沒有顯示。

提前致謝。

我編輯母版頁的解決方案實際上是有效的,只是我使用的是不安全的CDN。

將腳本更改為

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

CDN的https版本的URL使其正常運行。

我一直堅持到找到更好的解決方案為止。

編輯:

存在一個問題,即使在“設計”模式下,腳本也會觸發,並且一旦編寫就幾乎無法更改公式。

為了解決這個問題,我用以下內容替換了上面的簡單行:

<script type="text/javascript">
    ExecuteOrDelayUntilScriptLoaded(function(){
        var inEditMode = SP.Ribbon.PageState.Handlers.isInEditMode();
        if(!inEditMode)
        {
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src  = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
            document.getElementsByTagName("head")[0].appendChild(script);
        }
    }, 'SP.Ribbon.js');
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM