WebView常见问题

一、简介

  目前部分网页使用WebView控件来播放Polyv点播视频或直播视频时,会产生以下问题,在此提供demo供参考方便快速解决问题。

   安卓demo下载         iOS demo下载

  安卓webview demo描述
 - demo中实现了点击全屏按钮功能(ps:demo中虽然实现了全屏,但是从竖屏切换到横屏全屏,或者从横屏切换到竖屏全屏,需要开发者自己实现)

  IOS webview demo描述
 - demo中分别演示使用UIWebview、WKWebview

二、FAQ

1. webview 引用直播观看页打开白屏

不可以随意劫持Polyv请求的cookie信息,可能导致播放页面无法正常跳转,出现白屏现象。

2. 播放器区域白屏

由于运营商劫持的可能性,建议引用https的页面地址解决。

3. iOS建议使用 WKWebView

视频在h5页面内播放属性是 inline playback, UIWebView 默认开,WKWebView 默认关。
UIWebView 在 iOS 11.3 上设置 inline playback 无效,iOS 11.0.3 上可以,所以不建议继续使用 UIWebView。

苹果官方建议:
从iOS 8.0和OS X 10.10开始,使用WKWebView将Web内容添加到您的应用程序。不要使用UIWebView或WebView。
Starting in iOS 8.0 and OS X 10.10, use WKWebView to add web content to your app. Do not use UIWebView or WebView.

4. ios配置

iOS 需要以下配置,设置 info.plist NSAppTransportSecurity 字段,允许非HTTPS连接访问。

加入 NSAllowsArbitraryLoadsInWebContent 键,允许任意web页面加载,或设置 NSAllowsArbitraryLoadsYES 来禁用ATS。

测试发现:使用NSAllowsArbitraryLoadsInWebContent在 iOS 10.3 上视频可能无法播放,所以建议直接关闭ATS。

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

5.Android 虚拟按键适配动态调整布局

如下图华为mate8机型为例,部分webview页面底部内容被虚拟按键遮挡问题,需要处理Android调整webview适配底部返回键等虚拟键盘。

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...