В моем приложении phonegap я открываю в InAppBrowser внешнюю ссылку (она работает правильно) с:
cordova.InAppBrowser.open(completeUrl, '_blank', 'location=yes');
Мне нужно закрыть открытую ссылку, когда пользователь выполняет определенные действия. Я знаю, что могу закрыть его с
var b = cordova.InAppBrowser.open(completeUrl, '_blank', 'location=yes');
b.Close();
но это на моей стороне приложения, мне нужно что-то похожее на стороне внешней ссылки. Например, возможно ли иметь ссылку на экземпляр на стороне внешней ссылки? Я думаю нет, верно?
С "location = yes" у меня есть удобная кнопка закрытия вверху, так что это может быть решением, но я бы хотел закрыть ее, когда пользователь закончит использовать внешнюю ссылку, без использования собственной кнопки закрытия .
Возможно ли это?
UPDATE
Что я пробовал?
1) Из window.close эквивалент в Phonegap с InAppBrowser
Например, мой сервер отображает веб-страницу с кнопкой закрытия, примерно так:
<a href="/mobile/close">Close</a>
в моем клиентском javascript (приложение Phonegap):
var ref = window.open(encodeURI(url), '_blank', options);
ref.addEventListener('loadstop', function(event) {
if (event.url.match("mobile/close")) {
ref.close();
}
});
2) С https://stackoverflow.com/a/50047473/819161
var win=window.open( "myurl", "_blank");
win.addEventListener( "loadstop", function(){
var loop = window.setInterval(function(){
win.executeScript({
code: "window.shouldClose"
},
function(values){
if(values[0]){
win.close();
window.clearInterval(loop);
}
}
);
},100);
});
В вашем вызываемом окне просто выполните:
window.shouldClose=true
Когда вы хотите закрыть его
3) Тупое окно. Закрыть () с вызываемой страницы
Ничего из моих попыток не сработало.