编程语言
首页 > 编程语言> > javascript-使用documentFragment解析HTML而不发送HTTP请求

javascript-使用documentFragment解析HTML而不发送HTTP请求

作者:互联网

我想解析一个字符串,并用它来制作DOM树.我决定使用documentFragment API,到目前为止,我已经这样做了:

var htmlString ="Some really really complicated html string that only can be parsed by a real browser!";
var fragment = document.createDocumentFragment('div');
var tempDiv = document.createElement('div');
fragment.appendChild(tempDiv);
tempDiv.innerHTML = htmlString;
console.log(tempDiv);

但是问题是该脚本导致我的浏览器(特别是Chrome)发送实际的HTTP请求!我什么意思以这个为例:

var htmlString ='<img src="somewhere/odd/on/the/internet" alt="alt?" />';
var fragment = document.createDocumentFragment('div');
var tempDiv = document.createElement('div');
fragment.appendChild(tempDiv);
tempDiv.innerHTML = htmlString;
console.log(tempDiv);

这导致:

有什么解决方法吗?或任何其他更好的主意来解析HTML-String?

解决方法:

好吧,您将元素添加到页面上,当然浏览器将获取内容.

您可以使用DOMParser查看

var htmlString ='<img src="somewhere/odd/on/the/internet" alt="alt?" />';
var parser = new DOMParser();
var doc = parser.parseFromString(htmlString , "text/html");

MDN Doc page上有代码可支持不支持它的浏览器.

标签:dom,html-parsing,html,javascript
来源: https://codeday.me/bug/20191127/2075062.html