gpt4 book ai didi

javascript - 如何在不使用 标签包装每个单词的情况下获取光标下的单词?

转载 作者:行者123 更新时间:2023-11-28 03:19:01 25 4
gpt4 key购买 nike

我目前正在开发一个 Chrome 扩展程序,它需要一种方法来获取光标下的单词。我发现的一种常见解决方案是用标签包装 html 中的每个单词。但是,这样做会删除所有以前的 HTML,从而删除所有样式和超链接。我使用了来自 this answer 的以下代码片段递归地为 str 中的每个单词添加 span,但仍然有很多情况会在网页上出现不同格式时失败。

var regex = /(\(*<.+?<\/.+?>|\S+)/g;
var spannedStr = str.replace(regex, function(a) {
var m = (/<(\w+)([^>]*)>([^<]*)<\/\w+>/).exec(a);
if (m !== null) {
return "<" + m[1] + m[2] + ">" + m[3].replace(regex, arguments.callee) + "</" + m[1] + ">";
}
return "<span class = \"toTranslate\">" + a + "</span>";
});

我查看了其他一些 Chrome 扩展,其中一个似乎能够检索光标下的单词,而无需将 span 标记注入(inject) html 中的每个单词。我的问题是:是否有另一种方法可以找到光标下的单词?或者是否有更好的方法将单词包装在不干扰原始 html 样式和超链接的 span 中?

最佳答案

查看关于此问题的最高投票(而不是接受)答案 - 我认为它可能会引导您朝着工作方向前进:How to get a word under cursor using JavaScript?

关于javascript - 如何在不使用 <span> 标签包装每个单词的情况下获取光标下的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25517896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com