Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

测试在 iOS 上用 Orion 浏览器侧载运行 #552

Closed
muzuiget opened this issue Oct 2, 2023 · 2 comments
Closed

测试在 iOS 上用 Orion 浏览器侧载运行 #552

muzuiget opened this issue Oct 2, 2023 · 2 comments

Comments

@muzuiget
Copy link
Owner

muzuiget commented Oct 2, 2023

现在 Dualsub v2.10.0 可以在 iOS 上运行了,通过 Orion 浏览器。

苹果这个鸡贼,小小浏览器扩展都要打包成一个 App,然后走 App Store 那一套上架流程,要交保护费,要审核,现在还要备案,我在 #445 说过不太想折腾了,需要用户自己使用 XCode 来安装到 Safari。

而 Orion 自己实现了一套 WebExtensions API,可以直接加载扩展的 .zip 文件来运行,过去我测试过运行 Dualsub 失败。最近我看了下它的更新日志,似乎兼容性有改进了,再次折腾一下,主动兼容,虽然还有点小问题,但至少能跑起来了。

安装方法

Orion 是免费无内购 App,类似 Android 的 Kiwi,只是不开源,但声称计划开源,专门用来玩扩展也是挺好的,日常使用依旧可以 Safari。

  1. 安装 Orion,可以用 Safari 打开这个地址来跳转到 App Store。
  2. 打开 Orion 设置,在 扩展 分组里,勾选 允许安装第三方 Chrome 扩展程序 选项。
  3. 安装 Dualsub,在 Orion 打开 Dualsub 的 Chrome Web Store 页面安装。

可用的功能

在手机上使用 Dualsub,要区分两个话题:

  1. 手机浏览器成功运行 Dualsub 扩展本身。
  2. 视频网站支持网页版,在网页里播放视频,而不是强推 App。

虽然 Dualsub 在桌面浏览器里支持很多个视频网站,但是在手机浏览器上,只保证能在 https://m.youtube.com/ 上使用。

即使你在手机浏览器启用“桌面模式”,也未必和真实桌面浏览器行为一致的,没有精力去测试兼容所有视频网站。

https://m.youtube.com/ 测试了,基本功能都能正常使用,两种模式都正常显示,和 api.dualsub.xyz 通信也没问题。

已知问题

Orion 只能算是模拟实现了 WebExtensions API,所以某些行为未必跟 Safari 的原生 WebExtensions API 一致,不过它现在至少实现了 Dualsub 跑起来所需的 API。

如果你遇到问题:

  1. 确定对应的功能在桌面版的 Chrome 上是正常的。
  2. “重启大法“重试:刷新标签页、重新创建标签页,重启整个 App。

以下是我测试出来的一些已知问题。

显示字幕菜单的地方为空白。

Orion 的 WebExtensions API 实现问题。

  • 如果是在 https://m.youtube.com/,偶然出现,“重启大法“重试。
  • 如果是在其它网站,100% 出现,但无需理会。

扩展快速设置不能即时生效。

Orion 的 WebExtensions API 实现问题。

刷新标签页即可。

扩展全局设置不能即时生效。

Orion 的 WebExtensions API 实现问题。

重启整个 Orion。

iOS 全屏播放后字幕消失问题

iOS 自己的高贵特性,不是 bug。

iOS 的 Safari 内核不支持 Fullscreen API

Screenshot_20231002_215506

FullScreen API 即是“全屏 API",可以让视频播放器全屏时保留 HTML 实现的控制栏、进度条、字幕和弹幕等功能,如果不支持,全屏时则会被强制由系统的播放器接管,类似“画中画”,相当于把视频的投射外部播放器来播放,HTML 实现的东西被留在浏览器里面。

丢那星代代 iPhone 吹得秒天秒地,这个功能还以省电为由不实现。

绕过方法是“伪全屏“,相当于桌面浏览器按 F11 那种全屏。

在手机横屏时,Dualsub 会让播放器区域拉伸到屏幕宽度,屏幕高度则需要用户来解决,也就是隐藏地址栏和工具栏。

  1. 在 Orion 设置里,在“外观”里取消”滚动时隐藏工具栏“。
  2. 横屏手机后,点击地址栏上的网站图标,选择”隐藏工具栏“。
  3. 滚动一下页面,让播放器区域对齐屏幕顶部。

2023-10-28 更新: Safari 17.2 开始支持 Fullscreen API

Screenshot_20231028_070034

@NingJay
Copy link

NingJay commented Oct 6, 2023

提供一个方式可以避免重启, 手动更改orion的UA为macos的chrome就好了

@muzuiget
Copy link
Owner Author

muzuiget commented Oct 6, 2023

理论上改 UA 不可能改变 WebExtensions API 的行为。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants