我正在使用DOMParser
来解析包含表单的action属性等相关URL的文档。因为DOMParser
创建的文档的baseURI是null
访问action属性会产生一个空字符串。我可以使用getAttribute
来解决这个问题,但是如果可以在使用DOMParser
时指定一个理想的基本URL。
答案 0 :(得分:2)
您不是考虑在解析之前在HTML中插入<base>
,而不是考虑在解析之后执行
function parse(baseUri, htmlStr) {
var doc = (new DOMParser).parseFromString(htmlStr, 'text/html');
var base = doc.createElement('base');
base.href = baseUri;
doc.head.appendChild(base);
return doc;
}
var parsedDoc = parse('http://example.com', '<form action="/index.html"></form>');
console.log(
parsedDoc.querySelector('form').action
)