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 をフルスクリーン モードで実行し、既存のイベント ハンドラーを保持します。読み込まれた外部ページ。
これを達成することは可能ですか?