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