react-native的webview組件的使用心得記錄

屬性介紹:

1.source: 加載的網址。(必須帶http:// 或者https://)

2.automaticallyAdjustContentInsets: 自動調節內容內偏移,控制是否自動調節內容內偏移以便于一個navigation bar或者tab bar或者toolbar不擋住Scrollview中的內容。默認是true。

3.javaScriptEnabled bool : 允許執行js語言,僅限Android平臺。iOS平臺JavaScript是默認開啟的。

4.domStorageEnabled bool : 僅限Android平臺。指定是否開啟DOM本地存儲。

5.decelerationRate: 指定一個浮點數,用于設置在用戶停止觸摸之后,此視圖應以多快的速度停止滾動。也可以指定預設的字符串值,如"normal"和"fast",分別對應UIScrollViewDecelerationRateNormal 和UIScrollViewDecelerationRateFast。 Normal(正常速度): 0.998 Fast(較快速度): 0.9 (iOS WebView的默認值)。

6.onNavigationStateChange : 這個方法無法阻止頁面的跳轉行為,所以大家只能通過這個方法獲取用戶的一些行為。從而做出判斷,當webview顯示的頁面中有 postMessage的同名函數時將會報錯。

onNavigationStateChange = (navState) => {
   this.setState({
     backButtonEnabled: navState.canGoBack,
     forwardButtonEnabled: navState.canGoForward,
     url: navState.url,
     status: navState.title,
     loading: navState.loading,
     scalesPageToFit: true
   });
 };
<WebView
                bounces={false}
                scalesPageToFit={true}
                source={{uri:"http://www.baidu.com"}}
                style={styles.webView}>
</WebView>

7.onShouldStartLoadWithRequest: 允許為webview發起的請求運行一個自定義的處理函數。返回true或false表示是否要繼續執行響應的請求。

8.scalesPageToFit bool :設置是否要把網頁縮放到適應視圖的大小。

9.mediaPlaybackRequiresUserAction bool : 設置頁面中的HTML5音視頻是否需要在用戶點擊后再開始播放。默認值為true.

10.onError function :加載失敗時調用。

11.onLoad function :加載成功時調用。

12.onLoadEnd function :加載結束時(無論成功或失敗)調用。

12.onLoadStart function :加載開始時調用。

13.onMessage function :在webview內部的網頁中調用window.postMessage方法時可以觸發此屬性對應的函數,從而實現網頁和RN之間的數據交換。 設置此屬性的同時會在webview 中注入一個postMessage的全局函數并覆蓋可能已經存在的同名實現。網頁端的window.postMessage只發送一個參數data,此參數封裝在RN端的event對象中,即event.nativeEvent.data。data只能是一個字符串

14.renderError function :設置一個函數,返回一個視圖用于顯示錯誤。

15.renderLoading function : 設置一個函數,返回一個加載指示器。

16.startInLoadingState bool :強制WebView在第一次加載時先顯示loading視圖。默認為true。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容