【发布时间】:2018-02-16 16:34:11
【问题描述】:
所以我在 Android 上的 React Native WebView 上遇到了问题,其中包含 Vimeo 视频的页面会加载,我可以播放视频,但控件最终会消失,此后我将无法控制(暂停等)。
我做了一些调试并找到了一个(hacky)解决方案,所以我想分享我的发现:
【问题讨论】:
标签: react-native android-webview vimeo-player vimeo-android
所以我在 Android 上的 React Native WebView 上遇到了问题,其中包含 Vimeo 视频的页面会加载,我可以播放视频,但控件最终会消失,此后我将无法控制(暂停等)。
我做了一些调试并找到了一个(hacky)解决方案,所以我想分享我的发现:
【问题讨论】:
标签: react-native android-webview vimeo-player vimeo-android
这是我的发现:
WebView 控制台上有一条警告,在 player.js 的第 18 行位于 https://f.vimeocdn.com/p/2.68.16/js/player.js:[Deprecation] 'HTMLVideoElement.webkitSupportsFullscreen' is deprecated. Please use 'Document.fullscreenEnabled' instead.
问题何时发生。
更改用户代理会停止显示此警告,并且不会出现问题。
包含术语 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 的人那里获得一些见解,那就太好了。
【讨论】: