React native:Android上的WebView Auto heigh错误 - javascript注入没有执行

时间:2016-02-05 06:30:37

标签: android ios webview react-native javascript-injection

我真的需要在Android和iOS上制作一个WebView,它会对静态html产生自动高度。我研究过,我发现WebView没有这个功能。因此,我尝试实现一些本机库,并再次为iOS工作,但不适用于Android。此外,我发现了一些主题如何将javascript注入html并获取高度值,然后为WebView动态设置它。但是,这些脚本适用于iOS,但不适用于Android。

我尝试了这些解决方案,但它们不适用于Android,即使我为Android WebView启用了javascript。我认为注入的javascript不会在Android上执行,即使我像这样配置了WebView:

    <WebView                            
        html={html}
        javaScriptEnabled={true}
        injectedJavaScript="document.body.scrollHeight;"
        scrollEnabled={false}
        onNavigationStateChange={this._updateWebViewHeight}
        automaticallyAdjustContentInsets={true}
        style={{height: this.state.webViewHeight}}
    />

这是截图,我从onNavigationStateChange打印出事件对象,一个来自Android,另一个来自iOS,他们没有相同的字段:(请帮忙。谢谢

Screenshot for Android emulator and iOS emulator with printed event object

1 个答案:

答案 0 :(得分:0)

  1. 您可以使用react-native-html-webview。它一直很适合我,易于使用。 var HTMLWebView = require('react-native-html-webview'); <HTMLWebView html = {htmlContent} makeSafe = {true} autoHeight = {true}/>
  2. 查看这个要点:WebViewResizing.js