angularjs、Ionic でブラウザ InAppBrowser の URL を取得する
ブラウザのイベント処理(InAppBrowser)を利用することで、開いているウィンドウのビュー(ブラウザ)のURLを取得できます。
例として、Twitter ページを呼び出しており、ページが URL を変更するたびに、Url でアラートを表示します。
var twitterWindow = window.open("https://twitter.com/", '_blank', 'location=no');
twitterWindow.addEventListener('loadstart', function(event) {
alert("Current Event : "+ event.url);
});
ここでは、 browser のイベントを処理するために「addEventListener」を使用します。
window.open('local-url.html');
// loads in the Cordova WebView
window.open('local-url.html', '_self');
// loads in the Cordova webView
window.open('local-url.html', '_system');
// Security error: system browser, but url will not load (iOS)
window.open('local-url.html', '_blank');
// loads in the InAppBrowser
window.open('local-url.html', 'random_string');
// loads in the InAppBrowser
window.open('local-url.html', 'random_string', 'location=no');
// loads in the InAppBrowser, no location bar
ブラウザのイベントを処理するには、次を使用できます。
var ref = window.open('http://whitelisted-url.com', '_blank');
ref.addEventListener('loadstart', function(event) { alert(event.type + ' - ' + event.url); } );
ref.addEventListener('loadstop', function(event) { alert(event.type + ' - ' + event.url); } );
ref.addEventListener('loaderror', function(event) { alert(event.type + ' - ' + event.url + ' - ' + event.code + ' - ' + event.message); } );
ref.addEventListener('exit', function(event) { alert(event.type); } );
InAppBrowser を閉じるには:
var ref = window.open('http://whitelisted-url.com', '_blank');
ref.close();