iframe tasks
maggch97 opened this issue · comments
- 窗口在iframe中显示
- 通过插件实现PostMessage to top的逻辑,web和userscripts fallback到现在的不使用iframe的模式,尽量减小第一次上线的改动
- iframe中的窗口能够拖动
- iframe大小随着窗口的大小变化而改变
- 绕过csp,例如github这样csp有iframe白名单, extension 打包的 page 没有问题
- PostMessage逻辑:原来所有message发送给window.top, 现在能否 子iframe A 直接发送message到窗口iframe?
- iOS上对iframe有非常多限制,是否会影响插件?
- 对于无法访问2gether.video的用户fallback到**cdn
- 如何减少iframe页面的网络流量, 之前插件的vt.js使用了vercel超过每月100G, 后来通过缓存脚本解决问题, iframe没有办法缓存。https连接次数也会计费
- 使用extension打包的html, 能够绕过csp, 也能解决很多问题, 唯一的问题是不同平台的插件有不一样的url, 怎么做
- extension版本使用extension page,减少网络使用
- extension打包的html禁止remote scirpts, 无法解决
- 使用 srcdoc + sandbox iframe, 麦克风权限无法解决, 将需要权限的操作移动到 top frame? 不行, 也把voice的信息传递到top frame了
- vtFrame 不热更新, 外面使用热更新? 这样很坑, 不仅要vt和extension做兼容,不同版本vt还要做兼容
其他
- website兼容性
- userscripts兼容性
- 老版本 extension.js 兼容性
解决:
- 阻止网页通过插件进行track
- 阻止网页利用extension.js的能力, 例如绕过安全限制发送请求
不解决:
- load.js 或者 vt.js 被篡改, 不涉及 extension.js 的篡改不会改变安全性
抛掉兼容性包袱:
- vt.js 升级到 v2 版本, 不再兼容老版本
问题太多, 搁置, 代码在 v2 分支
main分支回滚