2

Phonegap アプリから外部ページを開く必要があります。少なくとも Android と iOS と互換性を持たせる必要があります。

外部ページを開くためのこのコードがあります

            **var ref = window.open('http://mysite.com/', '_blank', 'location=no');**
            lastPageLoaded = ref;
            ref.addEventListener('loadstop', function (event) {
                try {
                    alert('executing...');
                    var retVal = lastPageLoaded.executeScript(
                        {
                            code: "alert('got here!');"
                        }, function () {
                        });
                }
                catch (exception) {
                    alert(exception);
                }
            });

config.xml ファイルにもこれがあります。

<access origin="*" />

上記のコードは InAppBrowser を呼び出し、外部ページを正しく開きます。しかし、InAppBrowser はフルスクリーン モードではないため、私のアプリには適していません。

上記の太字 (つまり、 ** で装飾されたテキスト) の行を少し変更すると、次のようになります。

var ref = window.open('http://mysite.com/', **'_self'**, 'location=no');

InAppBrowser は呼び出されませんが、アプリ全体と同様に、外部ページがフル モードで開きます。これは良いことです。

ただし、イベント リスナーを追加しても機能しません。

ref.addEventListener('loadstop', function (event)

つまり、私のコードはこの行を実行することはありません:

code: "alert('got here!');"

InAppBrowser コンテキストで実行していないため、論理的に思えますが、次の 2 つの解決策のいずれかが必要です。1. InAppBrowser をフルスクリーン モードで実行し、既存のイベント ハンドラーを保持します。読み込まれた外部ページ。

これを達成することは可能ですか?

4

0 に答える 0