我想Print()
在 js 库MathJax完成处理访问的网页时调用 javascript 函数。
目前该Print()
函数被触发使用onload
,但它似乎停止了 MathJax 的处理数学任务(此处为演示);用户需要关闭浏览器的打印弹出窗口以让 MathJax 完成其处理。
我希望能够Print()
在 MathJax 中的处理数学达到 100% 时调用。
有任何想法吗?
将 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
更多细节。
MathJax 消息区域在被删除之前有一个延迟,以便您可以实际阅读它。该Print()
调用显然会阻止将删除该消息的 javascript。所以你需要在运行之前添加你自己的延迟Print()
。我认为消息延迟是 600 毫秒,所以如果你改变你的
MathJax.Hub.Queue(Print);
拨电至
MathJax.Hub.Queue(
["Delay",MathJax.Callback,700],
Print
);
那么这应该会延迟您的Print()
通话,直到消息被删除之后。
戴维德