【问题标题】:How to pass the parameters from react-native-webview to the javascript? [closed]如何将参数从 react-native-webview 传递给 javascript? [关闭]
【发布时间】:2019-08-21 13:14:38
【问题描述】:

尝试将参数从 react-native-WebView 发送到 javascript 函数。

尝试了注入的js,但不起作用

应该能够将参数从 webview 传递给 javascript 函数。

【问题讨论】:

  • enter code heredomStorageEnabled={true } startInLoadingState={true} javaScriptEnabled={true} scalesPageToFit={true} allowFileAccess={true} />

标签: javascript react-native react-native-webview


【解决方案1】:

您可以在 Webview 中使用injectedJavaScript

这是React-Native-WebView的道具。

用法

const message = "webview"
let jsCode = `jsfunc(message);`;
<WebView
          source={{ uri: "www.example.com" }}
          style={{ flex: 1 }}
          ref={webview => {this.myWebview = webview;}} 
          injectedJavaScript={jsCode}
          javaScriptEnabled={true}
        />

如果要发送数据到首页,可以使用post-message。

用法

 // receive message from homepage
 onMessage( event ) {
        console.log( event.nativeEvent.data );
    }

    // send message
    sendPostMessage() {
        console.log( "Sending post message" );
        this.myWebview.postMessage( "Post message" );
    }
...
   <TouchableHighlight onPress={() => this.sendPostMessage()}>
                    <Text>Send post message</Text>
                </TouchableHighlight>
                <WebView
                    style={{flex: 1}}
                    source={{ uri:"www.example.com" }}
                    ref={( webView ) => this.myWebview = webView}
                    onMessage={this.onMessage}
                />

【讨论】:

  • 可以不使用injectedJS并将参数传递给javascript函数来完成吗?
  • 可以通过消息将数据发送到首页,通过监听器接收数据并放入函数中。
  • 您能否详细说明您所说的内容。我真的不明白。
  • @AishwaryaRM 我编辑了我的答案。
  • @AishwaryaRM 为什么我的回答中的“V”符号被关闭了?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 1970-01-01
  • 2020-02-20
  • 2020-08-22
  • 1970-01-01
相关资源
最近更新 更多