3

私は現在、iPadで複数のタブをサポートするブラウザに取り組んでいます。問題は、iOSでは複数のタブで同時にオーディオ/ビデオを再生できないことです。これを試みると、すべてのオーディオが停止して戻ってこないなどの問題が発生します。

Google Chromeのブラウザが、非アクティブになるタブのメディアを実際に停止していることに気づきました。彼らはどうやってそれをやっているのだろうか。ステートメントを介してメディアを完全に停止することは可能です[webView loadRequest:NSURLRequestWithString(@"about:blank")];が、その場合、ページに空白の画面が表示されます。メディアを一時停止したいだけです。

UIWebViewのメディアを停止する実行可能なJavaScriptはありますか?もしそうなら、それはどのように見えるでしょうか(私はこれまで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 に答える