所以我在Android上面对React Native WebView的问题,其中包含Vimeo视频的页面会加载,我可以播放视频,但控件最终会消失,之后我无法控制(暂停等)。
我做了一些调试并找到了(hacky)解决方案,所以我想分享我的发现:
答案 0 :(得分:1)
以下是我的发现:
WebView控制台上有一条警告,位于https://f.vimeocdn.com/p/2.68.16/js/player.js的player.js
第18行:
[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
的人那里获得一些见解,那就太棒了。