3

我目前正在开发支持 iPad 上多个选项卡的浏览器。问题是 iOS 不允许多个选项卡同时播放音频/视频,尝试这样做会导致出现问题,例如所有音频都停止并且不再返回。

我注意到 Google Chrome 的浏览器实际上停止了处于非活动状态的选项卡中的媒体。我想知道他们是怎么做的。我知道可以通过[webView loadRequest:NSURLRequestWithString(@"about:blank")];声明完全停止媒体,但这会导致页面显示空白屏幕。我只想暂停媒体。

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

提前致谢!

4

1 回答 1

8

既然你能做到[webView stringByEvaluatingJavaScriptFromString:],那就有她简单的方法。

例如,您可以这样做:

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

当然,这只会停止第一个视频,因此在 iPad 上,脚本需要更复杂一些,并循环播放页面上的所有视频。

var videos = document.querySelectorAll("video");
for (var i = videos.length - 1; i >= 0; i--){
        videos[i].pause();
};
于 2012-07-24T23:28:16.543 回答