2015-11-06 63 views
1

我正在使用mpld3將Matplotlib圖轉換爲D3可嵌入Web的圖形。然後我使用一個名爲svg_mathjax2.js(Mathcad)的JS庫(https://github.com/ichuang/svg_mathjax2)來應用Tex轉換。Asynchronous Mathjax SVG

我得到的錯誤是在這一行svg_mathjax2.js的:

var svgmath = mathjaxdiv.getElementsByClassName('MathJax_SVG') 

[0].getElementsByTagName('svg')[0]; 

它給人的錯誤:

Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined 

一切正常,我第一次加載Mathjax,將其轉換文本適當。但是,任何其他調用(通過AJAX)都不起作用。

我已經在github頁面上發佈了一個問題,但還沒有收到回覆。我不確定這是否是svg_mathjax2或mpld3的問題。也許有人熟悉MathJax可以幫忙嗎?

回答

0

沒關係,我想通了。它特定於svg_mathjax2.js。

我解決它通過激活的代碼塊:

if (1) { 
     MathJax.Hub.Register.StartupHook("End Typeset", function() { 
      forEach(items, function (x) { 
      }); 
      // remove the temporary items 
      var mathbucket = document.getElementById('mathjax_svg_bucket'); 
      mathbucket.parentNode.removeChild(mathbucket); 
     }); 
    } 
} 
+0

如果你想通了,你應該分享。來吧!在有人低估之前! ;) –