injectedJavaScript 在反应本机的 Webview 中不起作用

新手上路,请多包涵

我无法将这个简单的 js 代码注入到 react-native webview 中。

我也提到了这个链接,但这里没有提供解决方案。

然后我发现这个适用于 html 道具但不适用于 uri。

 import React, { Component } from 'react';
import { Platform,
  StyleSheet,
  Text,
  View,
  WebView
} from 'react-native';

export default class App extends Component<{}> {

  injectjs(){

    let jsCode = 'alert(hello)';
    return jsCode;
  }

  render() {
    return <WebView
    javaScriptEnabled={true}
    injectedJavaScript={this.injectjs()}
    source={{uri:"https://www.google.com"}} style={{ marginTop: 20 }} />;
  }
}

原文由 Kapil Yadav 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 715
1 个回答

添加 onMessage 方法确实有效。

 import React, { Component } from 'react';
import { Platform,
  StyleSheet,
  Text,
  View,
  WebView
} from 'react-native';

export default class App extends Component<{}> {
  render() {
    return
      <WebView
        javaScriptEnabled={true}
        injectedJavaScript={'alert("hello")'}
        source={{uri:"https://www.google.com"}} style={{ marginTop: 20 }}
        onMessage={(event) => {
          console.log('event: ', event)
        }}
      />;
  }
}

原文由 AmazingBeerBelly 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题