【问题标题】:React-Native How can I get title from WebView when loading a urlReact-Native 加载 url 时如何从 WebView 获取标题
【发布时间】:2018-04-22 06:04:34
【问题描述】:

我想在 react-native 中从 webView 获取 url 的标题。

例如:我可以从 iOS 的 webView 中获取 url 的标题

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    titleLabel.text = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}

到目前为止我没有找到任何解决方案,所以有人有什么想法吗?

【问题讨论】:

    标签: react-native webview


    【解决方案1】:

    您可以使用 injectJavaScriptinjectedJavaScript 属性将 Javasctipt 代码注入您加载的 URL 并获取页面标题。看看this answer,了解如何使用 javascript 获取磁贴。

    那么当你获得title时,你可以使用onMessage prop传递给react-native端。

    【讨论】:

      【解决方案2】:

      我不确定这是否是最干净的解决方案,但您可以将一些 JavaScript 注入 WebView 以获取一些数据,然后将其传回。

      handleMessage(message) {
        console.log(message.nativeEvent.data);
      }
      
      render() {
        return (
          <WebView
            source={{ uri: "https://wonderloveapp.com" }}
            injectedJavaScript="window.postMessage(document.title)"
            onMessage={this.handleMessage}
          />
        )
      }
      

      参考资料:

      【讨论】:

      • 嘿,我需要与您联系以获取本地反应。你能ping我好吗Skype。 Skype。存在沙士05
      • 无法再将js注入websview
      • 我不得不使用:injectedJavaScript={"window.ReactNativeWebView.postMessage(myjscode)"}
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      相关资源
      最近更新 更多