InAppBrowser プラグイン
テスト環境 ( バージョン番号 ) : 5.0.0
このプラグインの詳細は、 こちらの原文 ( GitHub ) をご確認ください。
このプラグインでは、cordova.InAppBrowser.open() を使用して、InAppBrowser ウィンドウ ( InAppBrowser 提供の Web ブラウザー ) を開きます。
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');window.open
cordova.InAppBrowser.open() 関数は、window.open() 関数を代替する関数です。
次の記述をすれば、既存の window.open() を使用して、InAppBrowser ウィンドウを開くことができます。
window.open = cordova.InAppBrowser.open;ブラウザのwindow.open関数を上記のように変更すると、 意図しない副作用が発生する可能性があります(特に、このプラグインが別のプラグインの依存関係としてのみ含まれている場合)。
InAppBrowserウィンドウは、標準のWebブラウザーのように動作し、CordovaAPIにアクセスできません。 このため、サードパーティの(信頼できない)コンテンツをメインのCordova Webビューにロードするのではなく、ロードする必要がある場合は、InAppBrowserをお勧めします。 InAppBrowserはホワイトリストの対象ではなく、システムブラウザでリンクを開くこともありません。
InAppBrowserは、デフォルトでユーザーに独自のGUIコントロール(戻る、進む、完了)を提供します。
プラグイン ID
cordova-plugin-inappbrowserプラグインの追加方法
このプラグインを使用する場合には、Monaca クラウド IDE の [ Cordova プラグインの管理 ] 上で、InAppBrowser プラグインを有効にします。
プリファレンス
config.xml
InAppBrowserStatusBarStyle [iOS のみ]
(文字列、オプション lightcontent、darkcontent、または default。デフォルトは「default」)iOS のテキストの色のスタイルを設定します。 「lightcontent」は、暗い背景での使用を目的としています。 「darkcontent」は、iOS 13 以降でのみ使用可能で、明るい背景での使用を目的としています。
<preference name="InAppBrowserStatusBarStyle" value="lightcontent" />API の解説
cordova.InAppBrowser.open
InAppBrowser の新規インスタンス内、現在開いているブラウザーのインスタンス内、または、system browser ( システムブラウザー ) 内で、URL を開きます。
var ref = cordova.InAppBrowser.open(url, target, options);ref: ターゲットが 、
'_blank'に設定されているときのInAppBrowserウィンドウへのリファレンス。 (InAppBrowser)url: 読み込みをする URL。Unicode 文字が URLに含まれる場合、
encodeURI()を使用して変換します。 (String)target: URL の読み込み先として使用するブラウザーの種別。任意のパラメーターです。デフォルトは、
_selfとなります。 (String)_self: ホワイトリストに対象の URL が登録されている場合には、Cordova WebView を開きます。それ以外の場合には、InAppBrowserを開きます。_blank:InAppBrowserを開きます。_system: システム標準の Web ブラウザー ( system's web browser ) を開きます。
options:
InAppBrowserで使用する、任意のオプションです。デフォルトは、location=yesとなります。 (String)optionsで使用する文字列に、空白は使用できません。また、各設定 ( 名前と値の組み合わせ ) の間を、コンマで区切る必要があります。各設定の名前では、大文字・小文字を区別しません。すべてのプラットフォームは、以下の値をサポートしています。
location:
yesまたはnoを設定すると、InAppBrowserのロケーションバーを、それぞれ、表示または非表示にできます。
Android 専用 :
hidden:
yesに設定した場合、ブラウザーの 「 作成 」 とページの読み込みを行いますが、表示はしません。読み込みが完了すると、loadstop イベントが発火します。省略またはno( デフォルト ) に設定した場合、通常通り、ブラウザーを開き、読み込みを行います。beforeload: beforeload イベントを有効にして、ブラウザに実際にロードされるページを変更するように設定します。受け入れられる値は、GET リクエストのみをインターセプトする、POST リクエストでインターセプトする、または GET と POST リクエストの両方をインターセプトする
yesです。POST リクエストは、現在サポートされておらず、無視されることに注意してください(beforeload=postを設定すると、エラーが発生します )。clearcache:
yesに設定した場合、新規のウィンドウを開く前に、ブラウザーの cookie を削除します。clearsessioncache:
yesに設定した場合、新規のウィンドウを開く前に、セッションの cookie を削除します。closebuttoncaption: [X] の代わりに閉じるボタンのキャプションとして使用する文字列を設定します。この値は、自分でローカライズする必要があることに注意してください。
closebuttoncolor: 有効な 16 進色文字列に設定します。( Example:#00ff00 )。テキストまたはデフォルトの [X] に関係なく、閉じるボタンの色をデフォルトから変更します。この設定は、location を
yesに設定している場合にのみ有効です。footer:
yesに設定した場合、フッターに閉じるボタンが iOS の完了ボタンと同様に表示されます。 閉じるボタンはヘッダーと同じように表示されるため、closebuttoncaption と closebuttoncolor を使用してプロパティを設定します。footercolor: #00ff00 または #CC00ff00(#aarrggbb)などの有効な 16 進数の色の文字列に設定した場合、フッターの色がデフォルトから変更されます。 この設定は、footer を
yesに設定している場合にのみ効果があります。hardwareback:
yesに設定した場合、ハードウェア標準の 「 戻る 」 ボタンを使用して、前のページに戻ります ( InAppBrowser に記録されているページ遷移の履歴を使用 )。「 前のページ 」 が存在しない場合には、InAppBrowser が閉じます。デフォルト値はyesです。「 戻る 」 ボタンを使用して、InAppBrowser を閉じたい場合には、noに設定します。hidenavigationbuttons:
yesに設定した場合、ロケーションツールバーのナビゲーションボタンが非表示になります。ユーザーがロケーションをyesに設定している場合にのみ有効です。 デフォルト値はnoです。hideurlbar:
yesに設定した場合、ロケーションツールバーの URL バーが非表示になります。ユーザーが location をyesに設定した場合にのみ有効です。 デフォルト値はnoです。navigationbuttoncolor: 有効な 16 進数の色文字列に設定します( Example:#00ff00 )。両方のナビゲーションボタンの色がデフォルトから変更されます。 この設定は、location を
yesに設定し、hidenavigationbuttons をyesに設定していない場合にのみ効果があります。toolbarcolor: 有効な 16 進数の色文字列に設定します( Example:#00ff00 )。これにより、ツールバーの色がデフォルトから変更されます。 ユーザーの この設定は、location が yes に設定されている場合にのみ有効です。
lefttoright:
yesに設定した場合、ナビゲーションボタンと閉じるボタンの位置が入れ替わります。 具体的には、ナビゲーションボタンは左に、閉じるボタンは右に移動します。zoom:
yesに設定した場合、Android ブラウザーのズームコントロール ( 制御バー ) が表示されます。noに設定した場合、非表示になります。デフォルト値はyesです。mediaPlaybackRequiresUserAction:
yesまたはnoに設定して、 HTML5 の audio または video の自動再生を、有効または無効にします ( デフォルトはno)。shouldPauseOnSuspend: InAppBrowser WebViewでのバックグラウンドオーディオを停止するためにアプリで一時停止/再開させるには
yesに設定します。( これは、CB-11013 のような Google Play の問題を避けるために必要な場合があります。)useWideViewPort: WebViewが、
viewportタグのサポートを有効にするか、wide viewportを使用するかを設定します。設定の値がnoの場合、レイアウト幅は常に端末非依存(CSS)ピクセルの WebView コントロールの幅に設定されます。値がyesで、ページに viewport タグが含まれている場合、タグで指定された幅の値が使用されます。ページにタグが含まれていないか、幅が指定されていない場合は、wide viewport が使用されます。( デフォルトはyesです )。fullscreen: InappBrowser WebView をフルスクリーンで表示するかどうかを設定します。フルスクリーンモードでは、ステータスバーは非表示になります。デフォルト値は
yesです。
iOS 専用 :
hidden:
yesに設定した場合、ブラウザーの 「 作成 」 とページの読み込みを行いますが、表示はしません。読み込みが完了すると、loadstop イベントが発火します。省略またはno( デフォルト ) に設定した場合、通常通り、ブラウザーを開き、読み込みを行います。beforeload: beforeload イベントを有効にして、ブラウザに実際にロードされるページを変更するように設定します。受け入れられる値は、GET リクエストのみをインターセプトする、POST リクエストでインターセプトする、または GET と POST リクエストの両方をインターセプトする
yesです。POST リクエストは、現在サポートされておらず、無視されることに注意してください(beforeload=postを設定すると、エラーが発生します )。clearcache:
yesに設定した場合、新規のウィンドウを開く前に、ブラウザーの cookie を削除します。clearsessioncache:
yesに設定した場合、新規のウィンドウを開く前に、セッションの cookie を削除します。cleardata:
yesに設定した場合、新しいウィンドウが開く前にブラウザのローカルストレージ全体( Cookie、HTML5 ローカルストレージ、IndexedDB など )がクリアされます。closebuttoncolor: デフォルトの [完了] ボタンの色から変更するには、有効な 16 進数の色の文字列として設定します( Example:#00ff00 )。 ツールバーが無効になっていない場合にのみ適用されます。
closebuttoncaption: Done ボタンのラベルに使用する文字列を設定します。この値は、各自でローカライズする必要があります。
disallowoverscroll:
yesまたはnoに設定すると ( デフォルトでno)、UIWebViewBounce プロパティを、それぞれ、オンまたはオフにします。hidenavigationbuttons:
yesまたはnoに設定して、ツールバーのナビゲーションボタンをオンまたはオフにします( デフォルトはno)。 ツールバーが無効になっていない場合にのみ適用されます。navigationbuttoncolor: デフォルトの色から変更するには、有効な 16 進数の色文字列として設定します( Example:#00ff00 )。ナビゲーションボタンが表示されている場合にのみ適用されます。
toolbar:
yesまたはnoに設定した場合、InAppBrowserのツールバーを、それぞれ、表示または非表示にします ( デフォルトはyes)。toolbarcolor: ツールバーのデフォルトの色から変更するには、有効な 16 進数の色文字列として設定します( Example:#00ff00 )。ツールバーが無効になっていない場合にのみ適用されます。
toolbartranslucent:
yesまたはnoに設定した場合、ツールバーが半透明( 半透明 )になります( デフォルトはyes)。 ツールバーが無効になっていない場合にのみ適用されます。lefttoright:
yesに設定した場合、ナビゲーションボタンと閉じるボタンの位置が入れ替わります。 具体的には、閉じるボタンは右側に、ナビゲーションボタンは左側に移動します。enableViewportScale: meta タグを使用した、ビューポート ( viewport ) の尺度変更を、有効 (
yes) または無効 (no) にします ( デフォルトはno)。mediaPlaybackRequiresUserAction:
yesまたはnoに設定して、 HTML5 の audio または video の自動再生を、有効または無効にします ( デフォルトはno)。allowInlineMediaPlayback:
yesまたはnoに設定して、端末標準のメディア再生用インターフェイスではなく、ブラウザーウィンドウ内でのインライン再生を許可するか設定します。HTML のvideo要素にはwebkit-playsinline属性を指定する必要があります ( デフォルトはno)。presentationstyle: presentation styleを設定する場合は、
pagesheet、formsheet、fullscreenのいずれかを設定します ( デフォルトはfullscreen)。transitionstyle: transition style を設定する場合は、
fliphorizontal、crossdissolve、coververticalのいずれかを設定します ( デフォルトはcoververtical)。toolbarposition:
topまたはbottomに設定して、ツールバーの表示位置 ( ウィンドウの上・下 ) を指定します ( デフォルトはbottom)。hidespinner: ローディングインジケータの可視性を変更するには、
yesまたはnoに設定します( デフォルトはno)。
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
var ref2 = cordova.InAppBrowser.open(encodeURI('http://ja.m.wikipedia.org/wiki/ハングル'), '_blank', 'location=yes');iOS Quirks
iPadOS 13の導入以来、iPad は、コンテンツモード / ユーザーエージェントを最適なブラウジング体験に適応させようとしています。 これにより、iPad のユーザーエージェントが Macintosh に設定され、ユーザーエージェントの文字列スニッフィングを使用してモバイルデバイスとして iPad を検出することが困難になる可能性があります。 これは、config.xml の PreferredContentMode 設定で変更できます。
<preference name="PreferredContentMode" value="mobile" />上記の例では、ユーザーエージェントに iPad を含めるように強制しています。 もう1つのオプションは、desktop を使用してユーザーエージェントを Macintosh に変えることです。
InAppBrowser
ターゲットが '_blank' に設定されているときに cordova.InAppBrowser.open の呼び出しから返されたオブジェクトです。
メソッド
addEventListener
removeEventListener
close
show
hide
executeScript
insertCSS
InAppBrowser.addEventListener
InAppBrowser からイベントリスナーを登録します。 ( ターゲットが '_blank' に設定されている場合のみ使用可能 )
ref.addEventListener(eventname, callback);ref:
InAppBrowserウィンドウへのリファレンス (InAppBrowser)eventname: リスナーを設定するイベント (String)
loadstart:
InAppBrowserが URLの読み込みを始めたときに発火するイベントloadstop:
InAppBrowserが URLの読み込みを終えたときに発火するイベントloaderror: URL の読み込み時に、
InAppBrowserがエラーを検出したときに発火するイベントexit:
InAppBrowserウィンドウを閉じるときに発火するイベントbeforeload: InAppBrowser が URL をロードするかどうかを決定するとき発火するイベント( オプション beforeloadが 設定されている場合のみ)。
message: InAppBrowser Webview 内にロードされたページから投稿されたメッセージを InAppBrowser が受信した時に発火するイベント。
callback:
イベントが発火したときに実行される関数。
InAppBrowserEventオブジェクトを、パラメーターとして、この関数に渡します。
Example
var inAppBrowserRef;
function showHelp(url) {
var target = "_blank";
var options = "location=yes,hidden=yes,beforeload=yes";
inAppBrowserRef = cordova.InAppBrowser.open(url, target, options);
inAppBrowserRef.addEventListener('loadstart', loadStartCallBack);
inAppBrowserRef.addEventListener('loadstop', loadStopCallBack);
inAppBrowserRef.addEventListener('loaderror', loadErrorCallBack);
inAppBrowserRef.addEventListener('beforeload', beforeloadCallBack);
inAppBrowserRef.addEventListener('message', messageCallBack);
}
function loadStartCallBack() {
$('#status-message').text("loading please wait ...");
}
function loadStopCallBack() {
if (inAppBrowserRef != undefined) {
inAppBrowserRef.insertCSS({ code: "body{font-size: 25px;" });
inAppBrowserRef.executeScript({ code: "\
var message = 'this is the message';\
var messageObj = {my_message: message};\
var stringifiedMessageObj = JSON.stringify(messageObj);\
webkit.messageHandlers.cordova_iab.postMessage(stringifiedMessageObj);"
});
$('#status-message').text("");
inAppBrowserRef.show();
}
}
function loadErrorCallBack(params) {
$('#status-message').text("");
var scriptErrorMesssage =
"alert('Sorry we cannot open that page. Message from the server is : "
+ params.message + "');"
inAppBrowserRef.executeScript({ code: scriptErrorMesssage }, executeScriptCallBack);
inAppBrowserRef.close();
inAppBrowserRef = undefined;
}
function executeScriptCallBack(params) {
if (params[0] == null) {
$('#status-message').text(
"Sorry we couldn't open that page. Message from the server is : '"
+ params.message + "'");
}
}
function beforeloadCallBack(params, callback) {
if (params.url.startsWith("http://www.example.com/")) {
// Load this URL in the inAppBrowser.
callback(params.url);
} else {
// The callback is not invoked, so the page will not be loaded.
$('#status-message').text("This browser only opens pages on http://www.example.com/");
}
}
function messageCallBack(params){
$('#status-message').text("message received: "+params.data.my_message);
}InAppBrowserEvent のプロパティ
type: eventname ( イベント名)。
loadstart、loadstop、loaderror、message、exitのいずれかとなります。 (String)url: 読み込んだ URL (String)
code: エラーコード (
loaderrorが発生した場合のみ ) (Number)message: エラーメッセージ (
loaderrorが発生した場合のみ )(String)data: メッセージの内容。( message イベントの場合のみ ) 。 文字列化されたJSONオブジェクト。(String)
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstart', function(event) { alert(event.url); });InAppBrowser.removeEventListener
InAppBrowser からイベントリスナーを削除します。 ( ターゲットが '_blank' に設定されている場合のみ使用可能 )
ref.removeEventListener(eventname, callback);ref:
InAppBrowserウィンドウへのリファレンス (InAppBrowser)eventname: リスナーの登録を解除するイベント (String)
loadstart:
InAppBrowserが URLの読み込みを始めたときに発火するイベントloadstop:
InAppBrowserが URLの読み込みを終えたときに発火するイベントloaderror: URL の読み込み時に、
InAppBrowserがエラーを検出したときに発火するイベントexit:
InAppBrowserウィンドウを閉じるときに発火するイベントmessage: InAppBrowser Webview 内にロードされたページから投稿されたメッセージを InAppBrowser が受信した時に発火するイベント。
callback:イベントが発火したときに実行される関数。
InAppBrowserEventオブジェクトを、この関数に渡します。
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
var myCallback = function(event) { alert(event.url); }
ref.addEventListener('loadstart', myCallback);
ref.removeEventListener('loadstart', myCallback);InAppBrowser.close
InAppBrowser ウィンドウを閉じます。
ref.close();ref:
InAppBrowserウィンドウへのリファレンス (InAppBrowser)
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.close();InAppBrowser.show
非表示で実行されている InAppBrowser ウィンドウを表示します。 InAppBrowser ウィンドウ がすでに表示されている場合には、この関数を呼んでも効果ありません。
ref.show();ref: InAppBrowser ウィンドウへのリファレンス (InAppBrowser)
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'hidden=yes');
// some time later...
ref.show();InAppBrowser.hide
InAppBrowserウィンドウを非表示にします。 InAppBrowserがすでに非表示の場合、この呼び出しは無効です。
ref.hide();ref: InAppBrowser ウィンドウへのリファレンス (InAppBrowser)
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank');
// some time later...
ref.hide();InAppBrowser.executeScript
InAppBrowser ウィンドウ上に、JacaScript コードをインジェクト ( inject/注入 ) します。(ターゲットが '_blank' に設定されている場合のみ使用可能)
ref.executeScript(details, callback);ref:
InAppBrowserウィンドウへのリファレンス (InAppBrowser)injectDetails: 実行するスクリプトの詳細。
fileまたはcodeキーを指定します。 (Object)file: インジェクトするスクリプトの URL
code: インジェクトするスクリプトのテキスト
callback: JavaScript コードのインジェクト後に実行する関数
インジェクトしたスクリプトの形式が
codeの場合、callbackに、配列形式のパラメーターが 1つ渡され実行されます。このパラメーターは、インジェクトしたスクリプトの実行結果( 戻り値 )です。複数行のスクリプトに関しては、最後のステートメント (statement ) の戻り値、または、最後に評価 ( evaluate ) した表現 (expression ) が、引き渡すパラメーターとなります。
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function() {
ref.executeScript({file: "myscript.js"});
});InAppBrowser.insertCSS
CSSを InAppBrowser ウィンドウに挿入します。(ターゲットが '_blank' に設定されている場合のみ使用可能)
ref.insertCSS(details, callback);ref:
InAppBrowserウィンドウへのリファレンス (InAppBrowser)injectDetails: 実行するスクリプトの詳細。
fileまたはcodeキーを指定します。 (Object)file: インジェクトするスタイルシートの URL
code: インジェクトするスタイルシートのテキスト
callback: CSS のインジェクト後に実行する関数
対象プラットフォーム
Android
iOS
Example
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function() {
ref.insertCSS({file: "mystyles.css"});
});サンプル: InAppBrowserでヘルプページを表示する
このプラグインを使用すると、アプリ内で役立つドキュメントページを表示できます。 オンラインヘルプドキュメントを表示し、アプリケーションを終了することなく閉じることができます。
以下は、これを行うためのサンプルです。
ユーザーにヘルプを求める方法を提供する
アプリでこれを行う方法はたくさんあります。 ドロップダウンリストは簡単な方法です。
<select id="help-select">
<option value="default">Need help?</option>
<option value="article">Show me a helpful article</option>
<option value="video">Show me a helpful video</option>
<option value="search">Search for other topics</option>
</select>ページの onDeviceReady 関数でユーザーの選択肢を収集し、適切な URL を共有ライブラリファイルのヘルパー関数に送信します。 ヘルパー関数は showHelp() です。次にその関数を記述します。
$('#help-select').on('change', function (e) {
var url;
switch (this.value) {
case "article":
url = "https://cordova.apache.org/docs/en/latest/"
+ "reference/cordova-plugin-inappbrowser/index.html";
break;
case "video":
url = "https://youtu.be/F-GlVrTaeH0";
break;
case "search":
url = "https://www.google.com/#q=inAppBrowser+plugin";
break;
}
showHelp(url);
});ヘルプページを読み込む
open 関数を使用してヘルプページを読み込みます。hidden プロパティを yes に設定しているため、ページコンテンツが読み込まれた後にのみブラウザを表示できます。 こうすることで、ユーザーはコンテンツが表示されるのを待つ間に空白のブラウザが表示されなくなります。 loadstop イベントが発生すると、コンテンツがいつロードされたかがわかります。 loadstop イベントを処理します。
function showHelp(url) {
var target = "_blank";
var options = "location=yes,hidden=yes";
inAppBrowserRef = cordova.InAppBrowser.open(url, target, options);
inAppBrowserRef.addEventListener('loadstart', loadStartCallBack);
inAppBrowserRef.addEventListener('loadstop', loadStopCallBack);
inAppBrowserRef.addEventListener('loaderror', loadErrorCallBack);
}ユーザーにページの準備ができていることを知らせる
ブラウザがすぐに表示されないため、loadstart イベントを使用して、状況メッセージ、進行状況バー、またはその他のインディケーターを表示できます。 これは、コンテンツが途中であることをユーザーに保証します。
function loadStartCallBack() {
$('#status-message').text("loading please wait ...");
}ヘルプページを表示する
loadstopcallback イベントが発生すると、コンテンツがロードされたことがわかり、ブラウザを表示させることができます。 このような仕掛けは、より良いパフォーマンスの印象を作り出すことができます。 実は、コンテンツが読み込まれる前にブラウザを表示するかどうかにかかわらず、読み込み時間は同じです。
function loadStopCallBack() {
if (inAppBrowserRef != undefined) {
inAppBrowserRef.insertCSS({ code: "body{font-size: 25px;" });
$('#status-message').text("");
inAppBrowserRef.show();
}
}insertCSS 関数の呼び出しに気づいたかもしれません。これは、今回のサンプルの主な目的ではありませんが、この場合、ページのフォントサイズが一定のサイズになっていることを確認しています。この関数を使用して、任意の CSS スタイル要素を挿入できます。 プロジェクト内の CSS ファイルを指すこともできます。
ページエラーを処理する
場合によっては、ページがなくなったり、スクリプトエラーが発生したり、ユーザーにはリソースを表示する権限がありません。どのようにその状況を処理するかは、開発者側の設計に完全に依存します。ブラウザにそのメッセージを表示させるか、別の方法で提示することができます。
エラーをメッセージボックスに表示させたいと思います。 alert 関数を呼び出すスクリプトを注入することで、これを行うことができます。これは Windows デバイス上のブラウザでは機能しないため、executeScript コールバック関数のパラメータを調べて、有効かどうかを確認する必要があります。動作しない場合は、ページの <div> にエラーメッセージが表示されます。
function loadErrorCallBack(params) {
$('#status-message').text("");
var scriptErrorMesssage =
"alert('Sorry we cannot open that page. Message from the server is : "
+ params.message + "');"
inAppBrowserRef.executeScript({ code: scriptErrorMesssage }, executeScriptCallBack);
inAppBrowserRef.close();
inAppBrowserRef = undefined;
}
function executeScriptCallBack(params) {
if (params[0] == null) {
$('#status-message').text(
"Sorry we couldn't open that page. Message from the server is : '"
+ params.message + "'");
}
}詳細情報
ローカルURL(アプリ内のソース)
var iab = cordova.InAppBrowser;
// loads in the Cordova WebView
iab.open('local-url.html');
// loads in the Cordova WebView
iab.open('local-url.html', '_self');
// Security error: system browser, but url will not load (iOS)
iab.open('local-url.html', '_system');
// loads in the InAppBrowser
iab.open('local-url.html', '_blank');
// loads in the InAppBrowser
iab.open('local-url.html', 'random_string');
// loads in the InAppBrowser, no location bar
iab.open('local-url.html', 'random_string', 'location=no');ホワイトリストに登録されたコンテンツ
var iab = cordova.InAppBrowser;
// loads in the Cordova WebView
iab.open('http://whitelisted-url.com');
// loads in the Cordova WebView
iab.open('http://whitelisted-url.com', '_self');
// loads in the system browser
iab.open('http://whitelisted-url.com', '_system');
// loads in the InAppBrowser
iab.open('http://whitelisted-url.com', '_blank');
// loads in the InAppBrowser
iab.open('http://whitelisted-url.com', 'random_string');
// loads in the InAppBrowser, no location bar
iab.open('http://whitelisted-url.com', 'random_string', 'location=no');ホワイトリストに登録されていないURL
var iab = cordova.InAppBrowser;
// loads in the InAppBrowser
iab.open('http://url-that-fails-whitelist.com');
// loads in the InAppBrowser
iab.open('http://url-that-fails-whitelist.com', '_self');
// loads in the system browser
iab.open('http://url-that-fails-whitelist.com', '_system');
// loads in the InAppBrowser
iab.open('http://url-that-fails-whitelist.com', '_blank');
// loads in the InAppBrowser
iab.open('http://url-that-fails-whitelist.com', 'random_string');
// loads in the InAppBrowser, no location bar
iab.open('http://url-that-fails-whitelist.com', 'random_string', 'location=no');関連項目:
最終更新
役に立ちましたか?