VideoTogether / VideoTogether

Browser Extension to Sync Video Playback on All Video Platforms / 一起看视频浏览器插件,兼容所有平台

Home Page:https://videotogether.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 兼容性

解决:

  1. 阻止网页通过插件进行track
  2. 阻止网页利用extension.js的能力, 例如绕过安全限制发送请求

不解决:

  1. load.js 或者 vt.js 被篡改, 不涉及 extension.js 的篡改不会改变安全性

抛掉兼容性包袱:

  1. vt.js 升级到 v2 版本, 不再兼容老版本

问题太多, 搁置, 代码在 v2 分支
main分支回滚