From 237635132a4c56eacb4dbd72667c357da3e0d6dc Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 22 Jan 2015 10:09:21 -0500 Subject: [PATCH 1/2] Use document.head when available, and look up scripts via namespace if not found without it. Resolves issue #1016. --- unpacked/MathJax.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/unpacked/MathJax.js b/unpacked/MathJax.js index 32e9b7135..5cb52b0e7 100644 --- a/unpacked/MathJax.js +++ b/unpacked/MathJax.js @@ -641,7 +641,7 @@ MathJax.cdnFileVersions = {}; // can be used to specify revisions for indi if (document.styleSheets && document.styleSheets.length > sheets) {sheets = document.styleSheets.length} if (!head) { - head = (document.getElementsByTagName("head"))[0]; + head = document.head || ((document.getElementsByTagName("head"))[0]); if (!head) {head = document.body} } return head; @@ -3041,6 +3041,8 @@ MathJax.Hub.Startup = { var HEAD = document.getElementsByTagName("head")[0]; if (!HEAD) {HEAD = document.childNodes[0]}; var scripts = (document.documentElement || document).getElementsByTagName("script"); + if (scripts.length === 0 && HEAD.namespaceURI) + scripts = document.getElementsByTagNameNS(HEAD.namespaceURI,"script"); var namePattern = new RegExp("(^|/)"+BASENAME+"\\.js(\\?.*)?$"); for (var i = scripts.length-1; i >= 0; i--) { if ((scripts[i].src||"").match(namePattern)) { From 646568650e59e7bd14d76f833f72ea202ac806b8 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 22 Jan 2015 11:02:58 -0500 Subject: [PATCH 2/2] Handle head properly in another location when looking for script tags. Issue #1016. --- unpacked/MathJax.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unpacked/MathJax.js b/unpacked/MathJax.js index 5cb52b0e7..d9caee42a 100644 --- a/unpacked/MathJax.js +++ b/unpacked/MathJax.js @@ -3038,7 +3038,7 @@ MathJax.Hub.Startup = { if (!BASE) {BASE = window[BASENAME] = {}} var HUB = BASE.Hub; var STARTUP = HUB.Startup; var CONFIG = HUB.config; - var HEAD = document.getElementsByTagName("head")[0]; + var HEAD = document.head || (document.getElementsByTagName("head")[0]); if (!HEAD) {HEAD = document.childNodes[0]}; var scripts = (document.documentElement || document).getElementsByTagName("script"); if (scripts.length === 0 && HEAD.namespaceURI) @@ -3170,7 +3170,7 @@ MathJax.Hub.Startup = { if (browser.hasMathPlayer) { var mathplayer = document.createElement("object"); mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987"; - document.getElementsByTagName("head")[0].appendChild(mathplayer); + HEAD.appendChild(mathplayer); document.namespaces.add("m","http://www.w3.org/1998/Math/MathML"); browser.mpNamespace = true; if (document.readyState && (document.readyState === "loading" ||