2

因此,我在 Android 上的 React Native WebView 上遇到了问题,其中包含 Vimeo 视频的页面将加载并且我可以播放视频,但控件最终会消失,此后我将无法控制(暂停等)。

我做了一些调试并找到了一个(hacky)解决方案,所以我想分享我的发现:

4

1 回答 1

2

以下是我的发现:

  1. WebView 的控制台上有一条警告,player.js位于https://f.vimeocdn.com/p/2.68.16/js/player.js的第 18 行:
    [Deprecation] 'HTMLVideoElement.webkitSupportsFullscreen' is deprecated. Please use 'Document.fullscreenEnabled' instead. 当问题发生时。

  2. 更改用户代理会停止显示此警告,并且不会发生此问题。

  3. 包含术语的用户代理Android似乎会导致问题。例如,我的用户代理是,Mozilla/5.0 (Linux; Android 7.1.1; ONEPLUS A5000 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36但是当我从中删除Android它时,它工作正常。

考虑到这一点,设置用户代理也可以" "解决这个问题(尽管不推荐)。

所以对我来说,这似乎是由实际的 Vimeo 播放器代码(不在这个库中)引起的问题,它似乎用用户代理做了很多事情。如果我们能从熟悉player.js.

于 2018-02-16T16:34:11.560 回答