В нашето приложение Cordova ние използваме InAppBrowser (нали не всички?), за да стартираме нашето локално уеб приложение. Понякога трябва да отворим браузъра на устройството (Chrome / Safari), за да обработваме външни връзки.
Когато се върнем от браузъра на устройството, изглежда, че приставката InAppBrowser спира да задейства събития ('loadstop'
, 'loadstart'
и т.н...). Опитахме да пререгистрираме събитията, но това изглежда не работи.
Някой знае ли защо?
Ето техническа информация
Отваряме нашето локално уеб приложение по обичайния начин:
ref = cordova.InAppBrowser.open(url, 'blank', options);
Няма изненади и при регистриране на обратните повиквания на събитията:
ref.addEventListener('loadstop', onLoadStop);
ref.addEventListener('loadstart', onLoadStart);
ref.addEventListener('loaderror', onLoadError);
ref.addEventListener('exit', onExit);
Опитахме да отворим външния уеб браузър с помощта на window
:
window.open(event.url, '_system');
Или с помощта на втори InAppBrowser:
var browser = new cordova.InAppBrowser.open(event.url,'_system');
Използваме InAppBrowser v3.0.0. Това се случва както при Android реклама iOS.