首页 文章

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

提问于
浏览
1

我真的需要在Android和iOS上制作一个WebView,它会对静态html产生自动高度 . 我研究过,我发现WebView没有这个功能 . 因此,我尝试实现一些本机库,并再次为iOS而不是Android . 此外,我发现了一些主题如何将javascript注入html并获取height的值,然后为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
    • 您可以使用react-native-html-webview . 它一直很好用,易于使用 . var HTMLWebView = require('react-native-html-webview'); <HTMLWebView html = {htmlContent} makeSafe = {true} autoHeight = {true}/>

    • 看看这个要点:WebViewResizing.js

相关问题