1

私は phonegap が初めてで、まだ基本を理解しようとしています。起動時にインターネットに接続されているかどうかを確認し、接続されている場合は、Web サイトにリダイレクトするか、その Web サイトを Web ビューにロードする単純なアプリを作成したいと考えています。インターネットに接続していない場合は、アプリにとどまり、静的コンテンツのみを表示したい.

これが私がこれまでに持っているものです。

<!DOCTYPE html>
<html>
  <head>
    <title>Online Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
    <script type="text/javascript" charset="utf-8">

    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // Cordova is loaded and it is now safe to make calls Cordova methods
    //
    function onDeviceReady() {
        document.addEventListener("online", onOnline, false);
    }

    // Handle the online event example
    //
    function onOnline() {
      window.location.href ="http://google.com";
    }

    </script>
  </head>
  <body onload="onLoad()">
  </body>
</html>

また、OpenAllWhitelistURLsInWebView を true に設定しました。

オンライン イベントは、アプリがオフラインの場合にのみ機能し、アプリがオンラインに戻ったときに呼び出されますか?

前もって感謝します!

4

2 に答える 2

1

いいえ、オンライン イベントは、インターネットが接続されている場合にアプリが起動したときに発生し、アプリがオフライン モードからオンライン モードに移行したときにも呼び出されます。

phonegap で外部 Web サイトを開きたい場合は、同じ子ブラウザー プラグインを追加するか、埋め込まれた webveiw で Web サイトを開くことができます。window.location.href は Phonegap では機能しません。

あなたが iOS とAndroid のどちらで作業しているかわからないので、iOSAndroidのリンク

于 2012-10-14T08:12:10.913 に答える
0

オンライン イベント ハンドラー (つまり、この行) の配線を上に移動します。

document.addEventListener("online", onOnline, false);

onLoad() 関数に追加します。なんらかの理由で、後でではなく、ロード時にオンライン/オフライン イベントを登録する必要があることがわかりました。

于 2012-10-14T01:23:11.177 に答える