このトピックでは、その他の JavaScript API について説明します。HTML5 アプリまたはミニアプリを作成する際に、このトピックを参照できます。
WindVaneReady
ページが読み込まれると、WindVane は WindVaneReady イベントをトリガーし、ページはこのイベントをリッスンしてページの読み込みステータスを取得できます。ページのリフレッシュとページ履歴のロールバックもこのイベントをトリガーします。
document.addEventListener('WindVaneReady', function(e) {
alert('WindVaneReady');
}, false);
バックグラウンド
アプリがバックグラウンドに移動されると(別のアプリへの切り替えや通知バーのオープンなど)、WindVane は WV.Event.APP.Background イベントをトリガーします。ページはこのイベントをリッスンして、アプリがバックグラウンドに切り替わったことを取得できます。
Android システムの制限により、WV.Event.APP.Background イベントは、アプリがバックグラウンドに移動されたときだけでなく、WebView から他のアクティビティに切り替えたときにもトリガーされます。
アプリがバックグラウンドに移動されると、WebView が再度アクティブになるまで操作を実行できません。このイベントでアラートがトリガーされないようにしてください。一部の Android モデルでは、開いているページが空白になるという重大なバグが発生します。
iOS システムでは、WindVane 5.6.0 以降で WV.Event.APP.Background イベントがトリガーされる条件が Android システムと同じように更新されました。アプリが WebView からネイティブまたは他のビューに切り替えられたときに、WV.Event.APP.Background イベントがトリガーされます。
WindVane 5.6.0 以降には "to" パラメーターが追加され、アプリが WebView からどこに切り替えられたかを指定します。パラメーターの有効な値は 'background' で、WebView がバックグラウンドに移動されたことを示します。
このパラメーターが存在しない場合、アプリが WebView からどこに切り替えられたかを判断できません。
document.addEventListener('WV.Event.APP.Background', function(e) {
// 一部のモデルでは、アプリの終了時にアラートがトリガーされ、システムバグが発生します。
console.log('Event Background');
}, false);
アクティブ
アプリがバックグラウンドからフォアグラウンドに移動されると、WindVane は WV.Event.APP.Active イベントをトリガーします。ページはこのイベントをリッスンして、アプリのアクティブ化を取得できます。
Android システムの制限により、WV.Event.APP.Active イベントは、アプリがバックグラウンドからフォアグラウンドに移動されたときだけでなく、他のアクティビティから WebView に切り替えたときにもトリガーされます。
iOS システムでは、WindVane 5.6.0 以降で WV.Event.APP.Active イベントがトリガーされる条件が Android システムと同じように更新されました。アプリがネイティブまたは他のビューから WebView に切り替えられたときに、WV.Event.APP.Active イベントがトリガーされます。
WindVane 5.6.0 以降には "from" パラメーターが追加され、アプリがどこから WebView に切り替えられたかを指定します。有効な値:
'background': アプリがバックグラウンドから WebView に切り替えられたことを指定します。'webview': アプリが他のビューから WebView に切り替えられたことを指定します。
このパラメーターが存在しない場合、アプリがどこから WebView に切り替えられたかを判断できません。
WindVane 6.3.0 以降には "data" パラメーターが追加され、WebAppInterface.pop によって渡されたデータを取得します。
document.addEventListener('WV.Event.APP.Active', function(e) {
alert('Event Active');
}, false);プルリフレッシュ
この API は WindVane iOS でのみ使用できます。
iOS システムでは、WindVane はデフォルトでプルリフレッシュ機能を有効にしています。プルリフレッシュを無効にするには、HTML の <head> 要素に次のメタデータを追加します。
<meta id="stopUsePullRefresh" value="true">プルリフレッシュ操作が実行されたときに、プロンプトセクションに現在のページの URL を表示するかどうかを指定できます。現在のページの URL を表示するには、HTML の <head> 要素に次のメタデータを追加します。
<meta id="urlInLaw" value="true">無限スクロール
この API は WindVane iOS でのみ使用できます。
ユーザーがページの下部にスクロールしたときに、さらにコンテンツを読み込みます。無限スクロールを有効にするには、HTML の <head> 要素に次のメタデータを追加します。
<meta id="infiniteScroll" value="true">iOS システムの WindVane では、HTML の <head> 要素に次のメタデータを追加します。
<meta id="urlInLaw" value="true">urlInLaw は、iOS システムの WindVane のバグを軽減するために追加する必要があります。 urlInLaw の値は必要に応じて設定できます。
メタデータが追加されると、WV_INFINIT_SCROLL イベントがトリガーされます。イベントでは、継続的に新しいコンテンツを取得し、ページの最後に追加できます。新しいコンテンツが取得された後、WVScrollWidget.hiddenInfinitScroll 操作を呼び出して、無限スクロール中の読み込みプロンプトを非表示にする必要があります。
document.addEventListener('WV_INFINIT_SCROLL', function(e) {
var data = 'New document element for infinit scroll';
window.WindVane.call('WVScrollWidget', 'hiddenInfinitScroll', {}, function(e) {
var newDiv = document.createElement('div');
newDiv.innerHTML = data;
document.body.appendChild(newDiv);
});
}, false);