1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /**
- * DOMParser HTML extension
- * 2012-09-04
- *
- * By Eli Grey, http://eligrey.com
- * Public domain.
- * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
- *
- * SPDX-FileCopyrightText: 2012 Eli Grey, http://eligrey.com
- * SPDX-License-Identifier: CC0-1.0
- */
- /*! @source https://gist.github.com/1129031 */
- /*global document, DOMParser*/
- (function(DOMParser) {
- "use strict";
- var DOMParser_proto = DOMParser.prototype;
- var real_parseFromString = DOMParser_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) {}
- DOMParser_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 real_parseFromString.apply(this, arguments);
- }
- };
- }(DOMParser));
|