From bab0a8dd8c6f7b7f0d94be7d34f5852366a34e80 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 8 Apr 2016 14:03:34 -0400 Subject: [PATCH] Add more checks that the script tags are still in the active DOM before trying to use them. Resolves puzzling.SE issue #1384. --- unpacked/jax/output/HTML-CSS/jax.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/unpacked/jax/output/HTML-CSS/jax.js b/unpacked/jax/output/HTML-CSS/jax.js index eeb1db78c..6d1c72e34 100644 --- a/unpacked/jax/output/HTML-CSS/jax.js +++ b/unpacked/jax/output/HTML-CSS/jax.js @@ -745,9 +745,9 @@ // for (i = state.HTMLCSSlast, m = state.HTMLCSSeqn; i < m; i++) { script = scripts[i]; - if (script && script.MathJax.elementJax) { - var div = script.MathJax.elementJax.HTMLCSS.div; - div.className = div.className.split(/ /)[0]; + if (script && script.parentNode && script.MathJax.elementJax) { + var div = (script.MathJax.elementJax.HTMLCSS||{}).div; + if (div) {div.className = div.className.split(/ /)[0]} if (script.MathJax.preview) {script.MathJax.preview.innerHTML = ""} } } @@ -756,7 +756,7 @@ // for (i = state.HTMLCSSlast, m = state.HTMLCSSeqn; i < m; i++) { script = scripts[i]; - if (script && script.MathJax.elementJax) { + if (script && script.parentNode && script.MathJax.elementJax) { jax = script.MathJax.elementJax; this.getMetrics(jax); jax.root.toHTML(jax.HTMLCSS.span,jax.HTMLCSS.div,this.PHASE.II); } @@ -766,7 +766,7 @@ // for (i = state.HTMLCSSlast, m = state.HTMLCSSeqn; i < m; i++) { script = scripts[i]; - if (script && script.MathJax.elementJax) { + if (script && script.parentNode && script.MathJax.elementJax) { // // Finish the math with its measured size (toHTML phase III) //