Don't run in Safari

Summary: Safari has weird bugs associated with inline-table and
vertical-align, so we just won't render in Safari.

Auditors: alpert
This commit is contained in:
Emily Eisenberg 2013-07-25 18:59:20 -07:00
parent 79a50b3abe
commit 905fb7fb71
2 changed files with 16 additions and 1 deletions

View File

@ -244,6 +244,10 @@ var clearNode = function(node) {
};
var process = function(toParse, baseNode) {
if (utils.isSafari) {
throw new ParseError("KaTeX doesn't work on Safari");
}
clearNode(baseNode);
var tree = parseTree(toParse);

View File

@ -13,6 +13,17 @@ function slowContains(list, elem) {
var contains = Array.prototype.indexOf ? fastContains : slowContains;
function isSafari() {
var userAgent = navigator.userAgent.toLowerCase();
// Steal these regexes from jQuery migrate for browser detection
var webkit = /(webkit)[ \/]([\w.]+)/.exec(userAgent);
var chrome = /(chrome)[ \/]([\w.]+)/.exec(userAgent);
return webkit && !chrome;
}
module.exports = {
contains: contains
contains: contains,
isSafari: isSafari()
};