Have MathJax.js set up MathPlayer if it can (since delaying that is what causes crashes). Also make preview be hidden to prevent screen readers from seeing them once the math is typeset.
This commit is contained in:
parent
3f8f21a3be
commit
b02429e1ad
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1621,7 +1621,10 @@ MathJax.Hub = {
|
|||
//
|
||||
result = MathJax.OutputJax[jax.outputJax].Process(script,state);
|
||||
script.MathJax.state = STATE.PROCESSED; state.i++;
|
||||
if (script.MathJax.preview) {script.MathJax.preview.style.display = "none"}
|
||||
if (script.MathJax.preview) {
|
||||
script.MathJax.preview.style.display = "none";
|
||||
script.MathJax.preview.style.visibility = "hidden"; // hide from screen readers
|
||||
}
|
||||
//
|
||||
// Signal that new math is available
|
||||
//
|
||||
|
@ -1673,7 +1676,10 @@ MathJax.Hub = {
|
|||
});
|
||||
}
|
||||
script.parentNode.insertBefore(error,script);
|
||||
if (script.MathJax.preview) {script.MathJax.preview.style.display = "none"}
|
||||
if (script.MathJax.preview) {
|
||||
script.MathJax.preview.style.display = "none";
|
||||
script.MathJax.preview.style.visibility = "hidden"; // hide from screen readers
|
||||
}
|
||||
this.lastError = err;
|
||||
},
|
||||
|
||||
|
@ -2345,6 +2351,20 @@ MathJax.Hub.Startup = {
|
|||
MSIE: function (browser) {
|
||||
browser.isIE9 = !!(document.documentMode && (window.performance || window.msPerformance));
|
||||
MathJax.HTML.setScriptBug = !browser.isIE9 || document.documentMode < 9;
|
||||
var MathPlayer = false;
|
||||
try {new ActiveXObject("MathPlayer.Factory.1"); MathPlayer = true} catch(err) {}
|
||||
if (MathPlayer) {
|
||||
var mathplayer = document.createElement("object");
|
||||
mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987";
|
||||
document.getElementsByTagName("head")[0].appendChild(mathplayer);
|
||||
document.namespaces.add("m","http://www.w3.org/1998/Math/MathML");
|
||||
browser.hasMathPlayer = true;
|
||||
if (document.readyState && (document.readyState === "loading" ||
|
||||
document.readyState === "interactive")) {
|
||||
document.write('<?import namespace="m" implementation="#MathPlayer">');
|
||||
browser.mpImported = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
HUB.Browser.Select(MathJax.Message.browsers);
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
//
|
||||
// Remove selections, remove hover fades
|
||||
//
|
||||
if (ME.msieEventBug) {event = window.event}
|
||||
if (ME.msieEventBug) {event = window.event || event}
|
||||
EVENT.ClearSelection(); HOVER.ClearHoverTimer();
|
||||
if (jax.hover) {
|
||||
if (jax.hover.remove) {clearTimeout(jax.hover.remove); delete jax.hover.remove}
|
||||
|
|
|
@ -599,6 +599,7 @@
|
|||
//
|
||||
if (data.preview) {
|
||||
data.preview.style.display = "none";
|
||||
data.preview.style.visibility = "hidden"; // hide from screen readers
|
||||
script.MathJax.preview = data.preview;
|
||||
delete data.preview;
|
||||
}
|
||||
|
|
|
@ -97,11 +97,17 @@
|
|||
//
|
||||
// Insert data needed to use MathPlayer for MathML output
|
||||
//
|
||||
var mathplayer = document.createElement("object");
|
||||
mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987";
|
||||
document.getElementsByTagName("head")[0].appendChild(mathplayer);
|
||||
document.namespaces.add("mjx","http://www.w3.org/1998/Math/MathML");
|
||||
document.namespaces.mjx.doImport("#mathplayer");
|
||||
if (!HUB.Browser.hasMathPlayer) {
|
||||
var mathplayer = document.createElement("object");
|
||||
mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987";
|
||||
document.getElementsByTagName("head")[0].appendChild(mathplayer);
|
||||
document.namespaces.add("m","http://www.w3.org/1998/Math/MathML");
|
||||
HUB.Browser.hasMathPlayer = true;
|
||||
}
|
||||
if (!HUB.Browser.mpImported) {
|
||||
document.namespaces.m.doImport("#mathplayer");
|
||||
HUB.Browser.mpImported = true;
|
||||
}
|
||||
} catch (err) {
|
||||
//
|
||||
// If that fails, give an alert about security settings
|
||||
|
@ -231,7 +237,7 @@
|
|||
container.ondblclick = EVENT.DblClick;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
postTranslate: function (state) {
|
||||
if (this.forceReflow) {
|
||||
// Firefox messes up some mtable's when they are dynamically created
|
||||
|
@ -392,7 +398,7 @@
|
|||
// Create a MathML element
|
||||
//
|
||||
NativeMMLelement: function (type) {
|
||||
var math = (isMSIE ? document.createElement("mjx:"+type) :
|
||||
var math = (isMSIE ? document.createElement("m:"+type) :
|
||||
document.createElementNS(nMML.MMLnamespace,type));
|
||||
math.isMathJax = true;
|
||||
return math;
|
||||
|
|
|
@ -320,6 +320,7 @@
|
|||
//
|
||||
if (data.preview) {
|
||||
data.preview.style.display = "none";
|
||||
data.preview.style.visibility = "hidden"; // hide from screen readers
|
||||
script.MathJax.preview = data.preview;
|
||||
delete data.preview;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user