同域 iframe 内选中文字无法唤起 inline tools
在 Windows / Edge 上使用 Read Frog 1.49.0,文章中的嵌入页面(iframe)无法唤起 inline tools。
复现页面: 渐进式 Git HTML Iframes


在第 1 课沙盒里选中“空空的。先 mkdir 一个练习文件夹,再 cd 进去。”,文字能正常选中,但工具栏不出现。文章外层正文的划词工具正常;单独打开同一个沙盒页面后,选中同样文字也能正常弹出工具栏。直接完整加载文章仍可复现。
这个 iframe 与文章同域,未设置 sandbox。排查安装包发现,包含 selection.js 的 content_scripts 配置未启用 all_frames,实际 iframe 内也没有 Read Frog 的划词组件。可能需要检查子 frame 的脚本注入和选区事件监听。
希望 iframe 内的文字也能正常唤起 inline tools。
Log in to comment and vote
Comments1
MengXi
Oct 3
感谢详细的复现和排查。我们确认 iframe 内没有注入划词工具脚本。之前为了控制性能开销,默认只在主页面加载完整的划词工具,避免广告等嵌入页面也启动整套功能,所以同域 iframe 也会遇到这个问题。
这次修复改为通过站点规则按需开启 iframe 支持,已经给「渐进式 Git」和 W3Schools 的 iframe 教程添加内置规则,并在 Chrome 验证了划词工具和后加载的 iframe。其他网站也可以通过用户规则设置 injectIntoIframes: true 开启;false 可覆盖内置规则关闭,修改后刷新页面生效。
修复 PR:https://github.com/mengxi-ream/read-frog/pull/2295
目前修复尚未发布,需要更新到包含该修复的版本后才能使用上述规则;1.49.0 仅添加这条规则还无法生效。发布前可以先单独打开沙盒页面使用划词工具。