7

スプライト シートを使用して「ビデオを再生」する Web ページがあります。このページはモバイル向けに最適化されているため、Android および iOS の WebView に読み込むことができます。ページがいつ表示されるかを知りたいので、それ以降にのみビデオを再生できます。WebView の表示が遅れているため、ユーザーが途中でビデオをキャッチしたくありません。

一部の開発者は、ページ全体がページからすべてのアセットを取得し終えるまで待ってから、ユーザーに表示できるようにする可能性があります。ですから、その時間より前に「ビデオ」を開始したくありません。WebView が画面上または表示されていない場合でもそのイベントが発生するため、window.onload に依存することはできません。

できればJavaScriptを使用して、クライアント側からこれを達成するにはどうすればよいですか?

[編集] 明確にするために、私はネイティブ WebView を制御できないことを暗示しています。画面上にない WebView に Web ページを読み込んで、ビューをプッシュするか、後で画面上のレイアウトに追加することができます。私の問題は、Web ページの URL が WebView に読み込まれるときに、WebView がいつ画面に表示されるかがわからないことです。

4

3 に答える 3

3

Safari Web コンテンツ ガイドをご覧ください。[サポートされているイベント] テーブルまで下にスクロールします。私は、このpageshowイベントがあなたの期待どおりになると考えています (または望んでいます)。イベントもありfocusます。

モバイル Safari でこれらのイベントを使用するのは、次のように簡単です。

<body onpageshow="onPageShow();">

私は Android にあまり詳しくありませんが、すぐに調べてみます。

編集:このonpageshowソリューションは、Android 2.2以降でも iOS 4.0 以降と同じように機能するはずです。必要な方法で機能するかどうかについては、完全にはわかりません。お知らせ下さい!

于 2013-03-05T00:52:52.180 に答える
1

JavaScript を使用して Web ビューを制御することはできません。アプリのデザインを変更するのに遅すぎない場合は、ネイティブ API を使用すると、Web ビューをより細かく制御できます。

ビデオをロードする前に、Web ページにタイムアウトを挿入できます。試してみる価値があるかもしれません。

于 2013-03-05T00:38:17.150 に答える
1

phonegapライブラリ を使用できます。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    // Now safe to use the PhoneGap API
}

phonegapイベントの処理やwebviewでのその他のアクションに非常に適しています。

于 2013-03-11T19:47:34.143 に答える