Skip to main content

同域 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。

Status: Completed1 comment

Log in to comment and vote

Comments1

  • MengXi

    Team•

    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 仅添加这条规则还无法生效。发布前可以先单独打开沙盒页面使用划词工具。