document.body.outerHTML.length
当前返回:6万多,这已经超过了tower.im 20000的限制了
实际上,如果仅仅算文章的中文字符数,只有几千而已。问题是:如何优化呢???
首先,可以删除dataURL的img元素:var imgs = document.querySelectorAll("img[src^=data]"); imgs.forEach( img => img.parentElement.removeChild(img))
然后,尝试清除无用的inline style:
var spans = document.querySelectorAll("span")
spans.forEach( span => span.style = "" )
这么做可能没什么效果,对CSSOM的操作可能仅仅会反应到渲染结果上,而不会改变DOM树的数据大小。
这里最主要的一个问题是:当页面html代码中包含大量的<font ...> 文字内容 </font> 时(说明此页面是从Word导出的,垃圾微软),如何删除这些font元素,但是还要保留内容呢??
Try:
var fonts = document.querySelectorAll("font");
fonts.forEach(f => f.parentElement.replaceChild(f, f.innerText))
没有报错,但是似乎无效。document.body.outerHTML.length值没有发生任何改变。