使用DOMParser.parseFromString时是否可以提供baseURI?

时间:2016-12-08 22:06:06

标签: javascript

我正在使用DOMParser来解析包含表单的action属性等相关URL的文档。因为DOMParser创建的文档的baseURI是null访问action属性会产生一个空字符串。我可以使用getAttribute来解决这个问题,但是如果可以在使用DOMParser时指定一个理想的基本URL。

1 个答案:

答案 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

)