Via icon indicating copy to clipboard operation
Via copied to clipboard

Via 浏览器的 JS 插件能否应用到网页的 iframe 子页面中

Open maggch97 opened this issue 2 years ago • 1 comments

Chrome 的 TamperMonkey 插件会把 js 插件应用到每个 iframe 中。但是 Via 并不会。这导致插件的能力受到了限制,iframe的页面都无法进行操作。

请问 Via 会考虑 JS 插件应用到 iframe 吗?

maggch97 avatar Jul 03 '22 14:07 maggch97

今天看了一下,安卓 webview 没有 api 可以注入 js 到 iframe。不过有一个非常 hack 的方式,https://stackoverflow.com/questions/68984756/how-do-i-inject-javascript-to-an-iframe-from-java-code-into-an-android-webview ,拦截 request 然后给 response append 一段 js。

这种 hack 做法估计没有什么浏览器会支持,我做的插件因为必须要注入 iframe,用 react native 实现了上面的 hack 做法,如果有其他人遇到这个问题希望有帮助 https://github.com/VideoTogether/VideoTogetherApp

maggch97 avatar Jul 04 '22 16:07 maggch97

iframe 限制非常多,拦截 request 理论上可以,但看起来有点太 hack 了。

tuyafeng avatar Nov 23 '22 09:11 tuyafeng

@tuyafeng 刚刚试用了一下via的iOS版,非常棒,看出来是非常用心打磨的。我测了 inject to all frame 这个选项是开的。希望后续不会为了和安卓保持一致改回去,因为我做的脚本依赖了这个特性。

一个小问题, video后缀不在域名后缀名单里面,我的域名会跳到搜索 https://2gether.video/

一个建议: 如果后续做非原生的视频小窗播放,希望是默认关闭的,鲨鱼浏览器之类会默认打开小窗功能,影响所有基于html video 做的脚本

maggch97 avatar Apr 16 '23 13:04 maggch97

还有一个问题是,iOS via没有麦克风和摄像头权限。网页内的webrtc通话是需要这些权限的,iOS 11 之后Safari就支持了

maggch97 avatar Apr 16 '23 18:04 maggch97