Use document.head when available, and look up scripts via namespace if not found without it. Resolves issue #1016.

This commit is contained in:
Davide P. Cervone 2015-01-22 10:09:21 -05:00
parent cb5df6ef2f
commit 237635132a

View File

@ -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)) {