gpt4 book ai didi

javascript - 尝试使用 DOMParser 解析 html 字符串时出现问题

转载 作者:搜寻专家 更新时间:2023-11-01 04:52:46 24 4
gpt4 key购买 nike

这是片段:

html  = "<!doctype html>";
html += "<html>";
html += "<head><title>test</title></head>";
html += "<body><p>test</p></body>";
html += "</html>";

parser = new DOMParser();

dom = parser.parseFromString (html, "text/html");

尝试执行这些行时出现错误:

错误:组件返回失败代码:0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMParser.parseFromString]

我试图弄清楚发生了什么,但代码似乎是正确的,我在网上搜索,我来到这里时没有任何线索。

您以前遇到过这种故障吗?如果是,错误隐藏在哪里?

最佳答案

您应该使用 JavaScript DOMParser access innerHTML and other properties 中描述的 DomParser 函数

我为你创建了 fiddle http://jsfiddle.net/CSAnZ/

/* 
* DOMParser HTML extension
* 2012-02-02
*
* By Eli Grey, http://eligrey.com
* Public domain.
* NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
*/

/*! @source https://gist.github.com/1129031 */
/*global document, DOMParser*/

(function(DOMParser) {
"use strict";
var DOMParser_proto = DOMParser.prototype
, 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("")
, doc_elt = doc.documentElement
, first_elt;

doc_elt.innerHTML = markup;
first_elt = doc_elt.firstElementChild;

if (doc_elt.childElementCount === 1
&& first_elt.localName.toLowerCase() === "html") {
doc.replaceChild(first_elt, doc_elt);
}

return doc;
} else {
return real_parseFromString.apply(this, arguments);
}
};
}(DOMParser));

关于javascript - 尝试使用 DOMParser 解析 html 字符串时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9500318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com