如何在UIWebView中暂停媒体播放

我目前正在研究支持iPad上多个标签的浏览器。 问题是iOS不允许多个标签同时播放audio/video,尝试这样会导致所有audio停止而不能返回的问题出现。

我注意到,谷歌浏览器的浏览器实际上停止在不活动的选项卡中的媒体。 我想知道他们是如何去做的。 我知道可以通过[webView loadRequest:NSURLRequestWithString(@"about:blank")];完全停止媒体[webView loadRequest:NSURLRequestWithString(@"about:blank")]; 声明,但这会导致页面显示一个空白屏幕。 我只想暂停媒体。

有一些JavaScript我可以执行,将停止UIWebView中的媒体? 如果是这样,它会是什么样子(我从来没有接触过JavaScript)?

提前致谢!

因为你可以做[webView stringByEvaluatingJavaScriptFromString:]有她简单的方法。

例如,你可以这样做:

 [webview stringByEvaluatingJavaScriptFromString: @"document.querySelector('video').pause();"] 

当然,这只会阻止第一个video,所以在iPad上,脚本需要更复杂一点,并循环浏览页面上的所有video。

 var videos = document.querySelectorAll("video"); for (var i = videos.length - 1; i >= 0; i--){ videos[i].pause(); };