2016-02-05 48 views
1

我真的需要在Android和iOS上創建一個WebView,它將自動調整爲靜態HTML。我研究了一下,發現WebView沒有這個功能。因此我試圖實現一些本地庫,並且他們再次爲iOS工作,但不適用於Android。此外,我發現一些主題如何將JavaScript注入到html中,並獲取高度的值並在之後爲WebView動態設置它。但是,這些腳本正在iOS上工作,而不是在Android上。反應原生:WebView自動高度在Android上錯誤 - JavaScript注入未執行

我嘗試了這些解決方案,但它們不工作爲Android,即使我啓動Javascript爲Android WebView.Personally,我認爲注入的JavaScript並不是在Android上執行的,即使我這樣來配置web視圖:

<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

回答

0
  1. 您可以使用react-native-html-webview。它一直在爲我工作,並且易於使用。 var HTMLWebView = require('react-native-html-webview'); <HTMLWebView html = {htmlContent} makeSafe = {true} autoHeight = {true}/>
  2. 看看這個要點:WebViewResizing.js
+0

謝謝隊友,但它僅用於iOS和問題是在Android –

+0

難道在Android選項2的工作?如果你找到了解決方案,請分享。 – nmh