« SVG に MathJax を被せる | トップページ | 近接場光 »

2015年6月14日 (日)

XyJax は SVG 表示方式にするとエラー発生

MathJax のレンダリングは HTML-CSS や MathML など幾つか方式が有りますが、それを SVG 方式にして XyJax を使用するとエラーが発生しました。 Chrome のデベロッパーツールでエラーメッセージを確認すると


Uncaught TypeError: Cannot read property 'Get' of undefined
となっていました。また、発生個所は xypic.js の 5208 行目でした。


MathJax.Hub.Register.StartupHook("Device-Independent Xy-pic Require",function () {
    ・・・
    ・・・
  HUB.formatError = function (script, err) {
    if (err.xyjaxError !== undefined) {
      ・・・
      ・・・
    } else {
      throw err;    // ←エラー箇所
      hub_formatError.apply(HUB, [script, err]);
    }
  }

ただし、ここはエラーを throw した箇所なので、本当の発生個所ではありません。エラーメッセージによると、オブジェクトが undefined なので Get を読み込むことが出来ないということです。そこで xypic.js で Get を探したのですが、見つけることが出来ませんでした。これでは、何が undefined なのか判りません。エラーの原因を見つけるには、デベロッパーツールでステップ実行して動作を追跡する必要があります。そのうち気が向いたらすることにして、今日のところは置いておきます。

なお、 XyJax のサイトによると、 SVG 表示方式には対応済みとなっていますが、そうでもなかったということでしょうか?

ところで、 MathJax は、その表示箇所を右クリックして表示方式を変更することが出来るようになっていますが、今回のエラーが発生すると、表示方式の変更が出来なくなります。たとえページを再読み込みしても変更は出来ません。ブラウザーにも依るのかも知れませんが、 Cookie をクリアしないと元の表示に戻りません。

« SVG に MathJax を被せる | トップページ | 近接場光 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/584699/61741134

この記事へのトラックバック一覧です: XyJax は SVG 表示方式にするとエラー発生:

« SVG に MathJax を被せる | トップページ | 近接場光 »