1
yl14786922106 2020-05-14 12:08:42 +08:00
[].forEach.call($$("*"),function(a){
a.style.outline = "1px solid #" + (~~(Math.random()*(1<<24))).toString(16) }) 在浏览器里面执行类似这种的代码? |
2
rioshikelong121 2020-05-14 12:16:29 +08:00
我一直在用 diigo 做网页标注 感觉和你需求有点类似。 要不你也下一个参考一下他们的做法 当然软件貌似是闭源的 你可以从 html 上去推测。
|
3
duan602728596 2020-05-14 12:29:53 +08:00 via iPhone 1
因为文字可能被不同的标签隔开,比如
<div>a<b>b</b>c</div> 这种,所以我是用 parse5 把 html 拆成 ast 树, 取每个节点去掉标签后的字符串, 计算需要高亮的字符串的位置, 把字符串打上标记,然后对有标记的进行统一处理 |
4
dinjufen 2020-05-14 13:19:36 +08:00
highlightjs
|