У меня есть мобильное приложение, запускающее InAppBrowser:
const browser = window.open(url, '_blank', 'location=no,clearsessioncache=yes,clearcache=yes,usewkwebview=yes');
browser.addEventListener('loadstart', async (e) => {
...
});
При переходе по моему сайту, если я нажимаю на указанную c button
, я хочу отправить сообщение на мой мобильный приложение, чтобы он мог сделать действие. Могу ли я в любом случае сделать это? Один хакерский способ - изменить window.location.href
, чтобы он вызывал loadstart
с некоторыми queryParams, но он заставляет перезагрузить мою страницу как минимум.
РЕДАКТИРОВАТЬ:
Это кажется быть лидером
if (window['webkit'] && window['webkit'].messageHandlers && window['webkit'].messageHandlers['cordova_iab']
&& window['webkit'].messageHandlers['cordova_iab'].postMessage) {
window['webkit'].messageHandlers['cordova_iab'].postMessage(JSON.stringify({'data': 'value'}))
}