9

Print()js ライブラリMathJaxが訪問した Web ページの処理を終了し たときに、javascript 関数を呼び出したいと思います。

現時点では、Print()関数は次を使用してトリガーonloadされますが、MathJax の Processing Math タスクを停止しているようです (デモはこちら)。ユーザーは、ブラウザーの [印刷] ポップアップを閉じて、MathJax が処理を終了できるようにする必要があります。

Print()MathJax での Math の処理が 100% に達した時点で呼び出せるようにしたいと考えています。
何か案は?

4

2 に答える 2

12

Print コマンドを MathJax 処理キューにプッシュして、MathJax がページの組版を終了した後に呼び出されるようにします。例えば、

MathJax.Hub.Queue(Print);

また

MathJax.Hub.Queue(function () {
  // do stuff here
  Print();
});

次のドキュメントを参照してください。

http://www.mathjax.org/resources/docs/?queues.html#the-mathjax-processing-queue

詳細については。

于 2011-01-08T22:18:55.943 に答える
2

MathJax メッセージ領域は、実際に読み取ることができるように、削除されるまでに遅延があります。このPrint()呼び出しは、メッセージを削除する JavaScript を明らかにブロックします。したがって、実行する前に独自の遅延を追加する必要がありますPrint()。メッセージの遅延は 600 ミリ秒だと思います。

MathJax.Hub.Queue(Print);

に呼び出します

MathJax.Hub.Queue(
  ["Delay",MathJax.Callback,700],
  Print
);

Print()メッセージが削除されるまで、呼び出しを遅らせる必要があります。

ダビデ

于 2011-01-09T13:02:06.710 に答える