比如我这篇文章的标题,双击《双击》和《文本》还有《逻辑》是可以选中词语的,而《选中》就只能选中单字
1
bleeontheway 2023-04-14 09:29:26 +08:00 3
chrome 自带了分词器?
```javascript [...(new Intl.Segmenter('cn', { granularity: 'word' }).segment('比如我这篇文章的标题,双击《双击》和《文本》还有《逻辑》是可以选中词语的,而《选中》就只能选中单字'))].map(s=>s.segment) ``` |
2
XiaoBaiYa OP @bleeontheway #1 个人觉得不是 chrome 带的,因为就算是记事本也会触发这个功能
|
3
cmdOptionKana 2023-04-14 10:00:27 +08:00
我在 windows 11 里 firefox 试了一下
双击 "windows 下双击文本的选中逻辑来源哪里" 中的 "选中", 会选中 "下双击文本的选中逻辑来源哪里" 双击 "而《选中》就只能选中单字" 中的 "选中", 会选中 "选中" ====== 又在记事本里试了一下 双击 "windows 下双击文本的选中逻辑来源哪里" 中的 "选中", 会选中 "选中" |
4
xylxAdai 2023-04-14 11:25:33 +08:00 1
windows 下我不清楚,但 chromium 内核是肯定自己做的选词,因为我之前就是做浏览器内核的,刚好做过选词和自动分词的底层实现,甚至把选词逻辑塞到上层让应用自己处理长按的选中逻辑
|
5
qecxp 2023-04-14 11:33:48 +08:00
Chromium 内核的浏览器都内置了 ICU(International Component for Unicode/Unicode) 国际化组件,其内部有支持中文分词的功能。
|
6
Building 2023-04-14 11:39:58 +08:00
LayoutText 的时候会调用分词组件索引分词的 range
|
7
qwq11 2023-04-14 11:44:57 +08:00
排班引擎都会带分词,为了避免把一个完整的单词分成两行。所以大部分双击都是选中一个单词,少部分比如终端,双击选中引号内的内容就是自己搞的了
|
8
XiaoBaiYa OP |