KaTeX/static/main.js
Ben Alpert 317564a173 Catch exceptions on test page
Summary: This makes typing into the box bearable with break-on-exception enabled.

Test Plan: Typed into box; I didn't blow up.

Reviewers: emily

Reviewed By: emily

Subscribers: jessie

Differential Revision: http://phabricator.khanacademy.org/D13314
2014-09-22 11:46:26 -07:00

43 lines
1.1 KiB
JavaScript

function init() {
var input = document.getElementById("input");
var math = document.getElementById("math");
var permalink = document.getElementById("permalink");
if ("oninput" in input) {
input.addEventListener("input", reprocess, false);
} else {
input.attachEvent("onkeyup", reprocess);
}
if ("addEventListener" in permalink) {
permalink.addEventListener("click", function() {
window.location.search = "?text=" + encodeURIComponent(input.value);
});
} else {
permalink.attachEvent("click", function() {
window.location.search = "?text=" + encodeURIComponent(input.value);
});
}
var match = (/(?:^\?|&)text=([^&]*)/).exec(window.location.search);
if (match) {
input.value = decodeURIComponent(match[1]);
}
reprocess();
function reprocess() {
try {
katex.render(input.value, math);
} catch (e) {
if (e.__proto__ == katex.ParseError.prototype) {
console.error(e);
} else {
throw e;
}
}
}
}
init();