我想监听一个 webapp 内部触发的点击事件,这个 webapp 在react-native webview中加载。因此需要监听点击事件,然后在react-native中运行异步函数。
我的用例是单击保存按钮后下载文件(此保存按钮位于网络应用程序内)。
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 }}
/>
);
}
Run Code Online (Sandbox Code Playgroud) javascript react-native react-native-web react-native-webview