Я хочу прослушать событие щелчка, инициированное внутри веб-приложения, это веб-приложение загружается в собственное веб-представление. Поэтому необходимо прослушать событие click, а затем запустить функцию asyn c в реагирующем.
Мой сценарий использования - загрузка файла после нажатия кнопки сохранения (эта кнопка сохранения находится внутри веб-приложения).
Но внутри handleNavigationStateChange
и onMessage
ничего не запускается и не прослушивается. пожалуйста, найдите код ниже.
render() {
const url = 'https://www.takeselfie.com/#';
return (
<WebView
useWebKit
originWhitelist={['*']}
allowsInlineMediaPlayback
bounces={true}
source={{
uri: url,
}}
startInLoadingState={true}
scalesPageToFit
javaScriptEnabledAndroid={true}
javaScriptEnabled={true}
injectedJavaScript={`document.body.addEventListener('click', function(e){
window.postMessage("Message from WebView","*");
console.log(e)
})`}
onMessage={e => console.log("message==", e)}
mixedContentMode={'always'}
allowUniversalAccessFromFileURLs={true}
onNavigationStateChange={this.handleNavigationStateChange}
style={{ flex: 1 }}
/>
);
}