【React Native开发】React Native控件之WebView组件详解以及实例使用(22)

前端之家收集整理的这篇文章主要介绍了【React Native开发】React Native控件之WebView组件详解以及实例使用(22)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载请标明出处:

http://www.jb51.cc/article/p-heplvrqh-bgy.html

本文出自:【江清清的博客】

()前言

【好消息】个人网站已经上线运行,后面博客以及技术干货等精彩文章会同步更新,请大家关注收藏:http://www.lcode.org

今天我们一起来看一下WebView组件讲解以及使用实例

刚创建的React Native技术交流群(282693535),欢迎各位大牛,React Native技术爱好者加入交流!同时博客左侧欢迎微信扫描关注订阅,移动技术干货,精彩文章技术推送!

WebView组件进行创建渲染一个原生的WebView,进行加载一个网页。

()属性方法

  1. 承可以使View组件所有属性Style(具体查看:http://facebook.github.io/react-native/docs/view.html#content http://facebook.github.io/react-native/docs/view.html#style)
  2. automaticallyAdjustContentInsets bool 设置是否自动调整内容
  3. contentInset {top:number,left:number,bottom:number,right:number} 设置内容所占的尺寸大小
  4. html string WebView加载的HTML文本字符串
  5. injectJavaScript string 当网页加载之前进行注入一段js代码
  6. onError function 方法 当网页加载失败的时候调用
  7. onLoad function 方法 当网页加载结束的时候调用
  8. onLoadEnd fucntion 当网页加载结束调用,不管是成功还是失败
  9. onLoadStart function 当网页开始加载的时候调用
  10. onNavigationStateChange function方法 当导航状态发生变化的时候调用
  11. renderError function 方法用于渲染一个View视图用来显示错误信息
  12. renderLoagin function 方法用于渲染一个View视图用来显示一个加载进度指示器
  13. startInLoadingState bool
  14. url string 设置加载的网页地址
  15. allowsInlineMediaPlayback bool 该适合iOS平台,设置决定当使用HTML5播放视频的时候在当前页面位置还是使用原生的全屏播放器播放,默认值false。【注意】.为了让视频在原网页位置进行播放,不光要设置该属性true,还必须要设置HTML页面video节点的包含webkit-playsinline属性
  16. bounces bool 该适合iOS平台 设置是否有界面反弹特性
  17. domStorageEnabled bool 该适合Android平台 该只适合于Android平台,用于控制是否开启DOM Storage(存储)
  18. javaScriptEnabled bool 该适合于Android平台,是否开启javascript,在iOS中的WebView是默认开启的
  19. onShouldStartLoadWithRequest function 该适合iOS平台,该允许拦截WebView加载的URL地址,进行自定义处理。该方法通过返回true或者falase来决定是否继续加载该拦截到请求
  20. scalesPageToFit bool 该适合iOS平台 用于设置网页是否缩放自适应到整个屏幕视图以及用户是否可以改变缩放页面
  21. scrollEnabled bool 该适合iOS平台 用于设置是否开启页面滚动

()实战实例

上面我已经对于WebView组件的基本介绍以及相关属性方法做了讲解,下面我们用几个实例来演示一下WebView组件的使用。

3.1.先演示一个WebView组件最基本的使用方法,直接加载一个网页,具体代码如下:

@H_301_474@'use strict'; import React,{ AppRegistry,Component,StyleSheet,Text,View,WebView,} from'react-native'; var DEFAULT_URL = 'http://www.lcode.org'; var WebViewDemo =React.createClass({ render: function() { return ( <View style={{flex:1}}> <Textstyle={{height:40}}>简单的网页显示</Text> <WebViewstyle={styles.webview_style} url={DEFAULT_URL} startInLoadingState={true} domStorageEnabled={true} javaScriptEnabled={true} > </WebView> </View> ); },}); var styles =StyleSheet.create({ webview_style:{ backgroundColor:'#00ff00',} }); AppRegistry.registerComponent('WebViewDemo',() => WebViewDemo);

运行效果截图如下:


3.2.WebView加载本地的HTML静态字符串,具体代码如下:

'use strict';
import React,} from'react-native';
var DEFAULT_URL = 'http://www.lcode.org';
const HTML = `
<!DOCTYPEhtml>\n
<html>
  <head>
    <title>HTML字符串</title>
    <Metahttp-equiv="content-type" content="text/html;charset=utf-8">
    <Meta name="viewport"content="width=320,user-scalable=no">
    <style type="text/css">
      body {
        margin: 0;
        padding: 0;
        font: 62.5% arial,sans-serif;
        background: #ccc;
      }
      h1 {
        padding: 45px;
        margin: 0;
        text-align: center;
        color: #33f;
      }
    </style>
  </head>
  <body>
    <h1>加载静态的HTML文本信息</h1>
  </body>
</html>
`;
var WebViewDemo =React.createClass({
  render: function() {
    return (
      <View style={{flex:1}}>
        <WebViewstyle={styles.webview_style}
          html={HTML}
          startInLoadingState={true}
          domStorageEnabled={true}
          javaScriptEnabled={true}
          >
        </WebView>
      </View>
    );
  },() => WebViewDemo);

运行效果截图如下:


()最后总结

今天我们主要学习一下WebView组件的基本介绍和实例演示使用,具体还有更加详细的使用方法会在后面进阶中继续更新的。大家有问题可以加一下群React Native技术交流群(282693535)或者底下进行回复一下。

尊重原创,转载请注明:From Sky丶清(http://blog.csdn.net/developer_jiangqq) 侵权必究!

关注我的订阅号(codedev123),每天分享移动开发技术(Android/IOS),项目管理以及博客文章!(欢迎关注,第一时间推送精彩文章)

关注我的微博,可以获得更多精彩内容

猜你在找的React相关文章