如何使用Javascript获取Google Docs中光标位置或其附近的文本
新版Google Docs光标相对DOCS_modelChunk位置获取方案
开发者工具实现可行性
该需求完全可以通过浏览器开发者工具实现,无需额外依赖,具体操作步骤如下:
- 打开开发者工具的Console面板,直接调用Google Docs内部暴露的全局API获取光标实例:
const cursor = DOCS_application.getViewport().getCursor() - 调用实例的
getPosition()方法,返回结果中自带两个核心字段:chunkIndex对应当前光标所在DOCS_modelChunk数组的下标,offsetInChunk对应光标在该数据块内部的字符偏移量,这两个值就是你需要的相对位置数据 - 如果需要做渲染层校验,可以在Elements面板搜索类名
kix-cursor找到当前激活的光标SVG节点,读取其transform属性中的坐标值,再调用DOCS_modelChunk[chunkIndex].getBoundingBoxForOffset(offsetInChunk)获取该偏移量对应的渲染坐标,二者匹配即可验证数据准确性
注意事项
- 上述内部API仅在开发者工具上下文可调用,不会暴露给普通页面的JavaScript执行上下文,无法用于普通前端业务脚本开发
- 如果目标
DOCS_modelChunk属于懒加载区块,需要先滚动文档到对应区域完成数据加载后,才能拿到正确的索引与偏移值
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

