Subversion Repositories JSX

Compare Revisions

Last modification

Ignore whitespace Rev 592 → Rev 593

/trunk/dom/DOMParser.js
0,0 → 1,38
/* from https://developer.mozilla.org/en-US/docs/Web/API/DOMParser */
/* inspired by https://gist.github.com/1129031 */
/*global document, DOMParser*/
 
(function (DOMParser) {
"use strict";
 
var
proto = DOMParser.prototype
, nativeParse = proto.parseFromString
;
 
// Firefox/Opera/IE throw errors on unsupported types
try {
// WebKit returns null on unsupported types
if ((new DOMParser()).parseFromString("", "text/html")) {
// text/html parsing is natively supported
return;
}
} catch (ex) {}
 
proto.parseFromString = function(markup, type) {
if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
var
doc = document.implementation.createHTMLDocument("")
;
if (markup.toLowerCase().indexOf('<!doctype') > -1) {
doc.documentElement.innerHTML = markup;
}
else {
doc.body.innerHTML = markup;
}
return doc;
} else {
return nativeParse.apply(this, arguments);
}
};
}(DOMParser));