【iOS】UIWebView播放器退出继续播放

UIWebView加载一个带播放器的html页面的时候,当视频在播放中我们退出当前页面的时候发现还在继续播放。

解决思路网上很多说法,说的最多的一种就是退出页面的时候加载一个空页面。

1
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];

很多人在退出页面的时候加上这样一句代码就会发现播放器确实暂停播放了,但是如果继续回到这个页面(pop形式)发现是个空白页面。即使再次加载对应的URL能够解决当前问题,但对用户来说体验很不友好,怎么办呢?

用OC调用JS方法使播放器停止播放

1
2
3
4
5
6
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];

NSString *videoPauseJSStr = @"document.documentElement.getElementsByTagName(\"video\")[0].pause()";
[self.mWebView stringByEvaluatingJavaScriptFromString:videoPauseJSStr];
}

这时候发现退出当前页面就暂停播放了~~~

以上方案仅适用于前端播放器使用video标签