React-Native如何在加载URL时从WebView获取标题

时间:2017-11-09 09:46:06

标签: react-native webview

我想从反复原生的webView获取url的标题。

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

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

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

2 个答案:

答案 0 :(得分:1)

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

handleMessage(message) {
  console.log(message.nativeEvent.data);
}

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

参考文献:

答案 1 :(得分:0)

您可以使用injectJavaScriptinjectedJavaScript道具将Javasctipt代码注入您加载的网址并获取网页标题。看看this answer,了解如何使用javascript获取图块。

然后当你获得头衔时,你可以使用onMessage道具传递给反应原生方。