Как прослушать событие клика, вызванное внутри веб-приложения на веб-представлении реагировать - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу прослушать событие щелчка, инициированное внутри веб-приложения, это веб-приложение загружается в собственное веб-представление. Поэтому необходимо прослушать событие 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 }}
      />
    );
  }
...