创建一个原生的WebView,可以用于访问一个网页。
截图
属性
iosallowsInlineMediaPlaybackbool
指定HTML5视频是在网页当前位置播放还是使用原生的全屏播放器播放。 默认值为false
。
注意: 要让视频在网页中播放,不光要将这个属性设为true,HTML中的视频元素本身也需要包含webkit-playsinline
属性。
automaticallyAdjustContentInsetsbool
iosbouncesbool
contentInset{top: number, left: number, bottom: number, right: number}
iosdataDetectorTypesenum('phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all'), [object Object]
探测网页中某些特殊数据类型,自动生成可点击的链接,默认情况下仅允许探测电话号码。
你可以指定探测下述类型中的一种,或者使用数组来指定多个类型。
dataDetectorTypes
的可选值:
'phoneNumber'
'link'
'address'
'calendarEvent'
'none'
'all'
iosdecelerationRateScrollView.propTypes.decelerationRate
指定一个浮点数,用于设置在用户停止触摸之后,此视图应以多快的速度停止滚动。也可以指定预设的字符串值,如"normal"
和"fast"
,分别对应UIScrollViewDecelerationRateNormal
和UIScrollViewDecelerationRateFast
。
- Normal(正常速度): 0.998
- Fast(较快速度): 0.9 (iOS WebView的默认值)
androiddomStorageEnabledbool
仅限Android平台。指定是否开启DOM本地存储。
htmlstring
已过期
请使用source
属性代替。
injectJavaScript?:function
在网页加载完成之后,还可以主动调用此方法(以ref形式调用)继续给WebView注入JS代码。注入后会立即执行。
injectedJavaScriptstring
设置在网页加载之前注入的一段JS代码。
mediaPlaybackRequiresUserActionbool
设置页面中的HTML5音视频是否需要在用户点击后再开始播放。默认值为true
.
onErrorfunction
加载失败时调用。
onLoadfunction
加载成功时调用。
onLoadEndfunction
加载结束时(无论成功或失败)调用。
onLoadStartfunction
加载开始时调用。
onMessagefunction
在webview内部的网页中调用window.postMessage
方法时可以触发此属性对应的函数,从而实现网页和RN之间的数据交换。 设置此属性的同时会在webview中注入一个postMessage
的全局函数并覆盖可能已经存在的同名实现。
网页端的window.postMessage
只发送一个参数data
,此参数封装在RN端的event对象中,即event.nativeEvent.data
。data
只能是一个字符串。
androidjavaScriptEnabledbool
仅限Android平台。iOS平台JavaScript是默认开启的。
onNavigationStateChangefunction
iosonShouldStartLoadWithRequestfunction
允许为webview发起的请求运行一个自定义的处理函数。返回true或false表示是否要继续执行响应的请求。
renderErrorfunction
设置一个函数,返回一个视图用于显示错误。
renderLoadingfunction
设置一个函数,返回一个加载指示器。
source{uri: string, method: string, headers: object, body: string}, {html: string, baseUrl: string}, number
在WebView中载入一段静态的html代码或是一个url(还可以附带一些header选项)。
scalesPageToFitbool
设置是否要把网页缩放到适应视图的大小,以及是否允许用户改变缩放比例。
iosscrollEnabledbool
startInLoadingStatebool
强制WebView在第一次加载时先显示loading视图。默认为true。
styleView#style
urlstring
已过期
请使用source
属性代替。
androidmixedContentMode?:enum('never', 'always', 'compatibility')
指定混合内容模式。即WebView是否应该允许安全链接(https)页面中加载非安全链接(http)的内容。
可选的mixedContentMode
值如下:
'never'
(默认) - WebView不允许安全链接页面中加载非安全链接的内容。'always'
- WebView允许安全链接页面中加载非安全链接的内容。
'compatibility'
- WebView会尽量和浏览器当前对待此情况的行为一致。
androidsaveFormDataDisabled?:bool
用于控制页面上的表单是否启用自动保存/自动补全功能。仅Android有效。
androiduserAgentstring
为WebView设置user-agent字符串标识。这一字符串也可以在原生端用WebViewConfig来设置,但js端的设置会覆盖原生端的设置。