使用WKWebView播放视频时当url不正确时的处理

最近项目中有一个需求:

使用webView播放优酷视频,通过调接口获取后台设置的url,url再转成优酷识别的JS代码,但是后台设置的url可能不对,或者无效,这时候会报出一个参数无效的系统弹窗,想要将这个系统弹窗换成我们自定义的AlertView。

尝试的方法有好多,获取视频第一帧等等,最后都不行,因为你不是一个播放器,而是打开的是内嵌的播放器,不是直接的视频源文件,无法获取视频的具体信息,也无法拦截视频播放状况的响应,所以用这种方式不行。

最终在WKWebView – WKUIDelegate – runJavaScriptAlertPanelWithMessage

func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping () -> Void) {
    
    
        Utility.showNoticeAlertViewExitTutorial((nil,"Tutorial Video URL Does Not Seem To Be Valid".toLocalize())completionHandler()
    }
这个代理方法中message打印出来就是显示的错误的信息,这个时候调用自己的AlertView就可以了,说明苹果还是对这种问题做了处理的

猜你喜欢

转载自blog.csdn.net/SoftwareDoger/article/details/103372416