This topic created in 2219 days ago, the information mentioned may be changed or developed.
页面加载完成,需要高亮一些文案。
目前想的是获取 html,然后直接 replace 。 但是觉得性能不太好(批量获取,换好后,再批量塞回去)。
我想的是理想的解决方案是 得到需要高亮的文字,然后获取最近的标签,通过获取标签 然后 高亮标签内的文字。(需要写正则)
不知道 有没有其它成熟的插件呢?
5 replies • 2020-05-14 17:05:44 +08:00
 |
|
1
luckyboy6 May 14, 2020
[].forEach.call($$("*"),function(a){ a.style.outline = "1px solid #" + (~~(Math.random()*(1<<24))).toString(16) }) 在浏览器里面执行类似这种的代码?
|
 |
|
2
rioshikelong121 May 14, 2020
我一直在用 diigo 做网页标注 感觉和你需求有点类似。 要不你也下一个参考一下他们的做法 当然软件貌似是闭源的 你可以从 html 上去推测。
|
 |
|
3
duan602728596 May 14, 2020 via iPhone 1
因为文字可能被不同的标签隔开,比如 <div>a<b>b</b>c</div> 这种,所以我是用 parse5 把 html 拆成 ast 树, 取每个节点去掉标签后的字符串, 计算需要高亮的字符串的位置, 把字符串打上标记,然后对有标记的进行统一处理
|