as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
本页列出了Vega WebView目前支持的API属性和方法。如概述部分所述,Vega WebView是react-native-webview的Vega端口,目前仅支持有限的API集。
要进行设置以使用WebView,请参阅Vega网页应用概述。

属性

source

使用可选标头加载给定的URI。source对象具有以下子属性
  • uri (string): 要在WebView上加载的URI。
  • headers (object): 随请求一起发送的其他HTTP标头。
示例如下。

onLoad

在WebView加载网页后,它会调用onLoad。示例如下。
当您调用onLoad函数时,传递以下属性:

onLoadStart

当WebView开始加载资源时,它会调用onLoadStart。示例如下。
当调用onLoadStart时,传递以下属性。

onError

当WebView加载失败时,API会调用onError。 示例如下。
当调用onError函数时,传递以下属性。

onHttpError

WebView加载失败时,会抛出onHttpError HTTP状态错误,并且API会调用onHttpError函数。 任何statusCodes >= 400的情况都属于HTTP状态错误。 isMainFrame标记用于标识错误是在加载主页还是加载依赖资源时发生。对于主帧,此项将为true,对于子资源或iframe则为false。 示例如下。
当调用onHttpError函数时,传递以下属性。

onCloseWindow

此函数通知载体应用关闭给定的WebView并将其从视图系统中删除。 由于此次调用之后的任何WebView交互都可能会导致意外行为,因此载体应用应在收到此调用后销毁WebView实例。 此方法没有默认功能。 示例如下。

onMessage

在WebView JS调用ReactNativeWebView.postMessage时引用。它接受一个参数并且可用于事件对象。数据必须是字符串。 示例如下。

onShouldStartLoadWithRequest

onShouldStartLoadWithRequest允许自定义任何WebView请求的处理。如果返回的值为true,则会继续加载请求,为false则停止加载。示例如下。
此onShouldStartLoadWithRequest对象可以包含以下属性。

onClientCertAuthentication(可选)

此可选函数让主应用能够管理客户端证书身份验证请求。

参数

  • 下面所示项为您提供身份验证请求的详细信息。
  • 这个回调对象有一个处理身份验证的函数。

回调函数

  • 当证书采用PKCS#12格式时,下面的函数处理客户端证书身份验证。
  • 下面的函数可取消客户端证书身份验证过程。
默认行为是在缺少客户端证书的情况下取消请求。 示例如下。
请求对象包含以下属性:
  • hostName - 服务器的主机名。
  • portNumber - 请求的端口号。

onSslError(可选)

此可选函数向主机应用通知在加载资源时出现了SSL错误。主机应用必须调用SslErrorHandler.cancel() 或SslErrorHandler.proceed()。默认情况下,如果加载URL时出现SSL错误,它会予以拒绝。 用户可以调用proceed() 或cancel() 方法来响应将来的SSL错误。默认情况下,其中一个函数会取消资源加载进程。WebView仅针对可修复的SSL证书错误(例如不可信的认证者、证书到期或自签名)调用此函数。对于不可修复的错误(例如服务器使客户端出现故障),WebView使用ERROR_FAILED_SSL_HANDSHAKE (-11) 参数调用onError(WebView, WebResourceRequest, WebResourceError)。 示例如下。

SslErrorData对象

SslErrorData对象包含以下属性:
  • url
  • code
  • description
OnSslErrorCallback对象包含以下方法:
  • proceed() 允许SSL错误。
  • cancel() 拒绝SSL错误。

javaScriptEnabled

用于在WebView中启用或禁用JavaScript的布尔值。默认值为true。 示例如下。

domStorageEnabled

一个布尔值,用于在WebView中启用或禁用DOM存储(本地网页存储)。默认值为false。 示例如下。

userAgent

为WebView设置user-Agent。 示例如下。

mixedContentMode

为WebView指定混合内容模式。 示例如下。
mixedContentMode的可能值如下。
  • Never(默认):使用MIXED_CONTENT_NEVER_ALLOW。WebView不允许安全来源加载来自不安全来源的内容。考虑使用这种模式,因为它是最安全的。
  • Always:使用MIXED_CONTENT_ALWAYS_ALLOW。WebView允许安全来源从任何其他来源加载内容,即使该来源不安全。亚马逊不建议这样做,因为这样是最不安全的。
  • Compatibility:使用MIXED_CONTENT_COMPATIBILITY_MODE。WebView尝试在混合内容方面兼容现代网页浏览器使用的方法。当其他类型的内容被屏蔽时,WebView可能会允许来自安全来源的某些不安全的内容。Webview允许或屏蔽的内容类型可能会因版本而异,未明确定义。此模式适用于无法控制自己渲染的内容,但需要一定合理安全性的应用。要实现最高的安全性,请使用MIXED_CONTENT_NEVER_ALLOW。

allowFileAccess

一个布尔值,用于允许或禁止使用file:// URI’s访问文件系统。默认值为false。 示例如下。

allowSystemKeyEvents

布尔值,决定了网页应用是否在其网页JavaScript层中侦听特殊的系统按键事件,如“后退”按钮 (keyCode: 27)。如果开发者希望在网站上完整保留其业务逻辑,而不依赖应用代码,此功能会很有帮助。如果allowSystemKeyEvents值为true,则应用可以有自己的反向处理程序,并且事件会根据组件注册其反向处理程序(WebView/应用处理程序)的顺序进行传播。这将确保恰当处理WebView内容的系统键事件,同时提供应用级控制。 重要注意事项
  1. WebView一旦接收到反向键事件,就一定会使用该事件。即使应用的JavaScript不使用键事件,它也不会传播到其余反向处理程序(如果有)。
  2. 在多个WebView场景中,只有最后创建的WebView实例才能获得反向键事件。
示例如下。

mediaPlaybackRequiresUserAction

一个布尔值,用于确定要开始播放HTML5音频和视频,是否需要用户做出手势。默认值为true。 示例如下。

thirdPartyCookiesEnabled

用于在WebView中启用或禁用开发者Cookie的布尔值。默认值为false。 示例如下。

allowsDefaultMediaControl

允许将VegaMediaControl事件自动桥接到活动的WebView媒体会话。这样就允许无缝集成WebView的语音命令。有关更多详细信息,请参阅Vega媒体控制概述。
  • 为true时会启用WebView媒体会话的默认媒体传输控制,例如播放、暂停、向前查找、向后查找。
  • 为false时会禁用默认的媒体传输控制。
注意事项: 示例如下。

injectedJavaScriptBeforeContentLoaded

将injectedJavaScriptBeforeContentLoaded设置为在创建document元素之后,但在其他子资源完成加载之前将JavaScript注入到网页中。要在执行网页代码之前将任何内容注入到window、localStorage或document中,此函数会很有用。 示例如下:

方法

injectJavaScript

injectJavaScript会在WebView中评估JavaScript。 示例如下。

stopLoading

这将停止加载当前页面。 示例如下。

clearCache(bool)

清除资源缓存。缓存是依据应用的,因此clearCache会清除同一应用的所有WebView部分的缓存。如果参数为true,则包括磁盘文件。如果参数为false,则仅清除RAM缓存。 示例如下。

goBack()

在WebView历史记录中向后翻一页。如果历史记录中没有任何项目,此函数将不执行任何操作(无操作)并返回。 示例如下。

goForward()

在WebView历史记录中向前翻一页。如果历史记录中没有任何可向前翻的项目,此函数将不执行任何操作(无操作)并返回。 示例如下。

clearHistory()

清除WebView实例的内部后退/前进历史记录。 示例如下。

dispatchTouchEvent(event: TouchEvent)

向指定的目标网页元素调度触摸事件。它让您能够以编程方式引发触摸事件,例如touchstart和touchend。

参数

event:表示调度的触摸的TouchEvent对象。此对象包含有关触摸事件类型 (type) 的信息以及与事件相关的触摸点数组(touches)。 示例如下。

scrollBy(offsetX: number, offsetY: number)

按指定的偏移值滚动WebView的内容。此方法让您能够以编程方式按指定的水平 (offsetX) 和垂直 (offsetY) 偏移量滚动WebView的内容。

参数

  • offsetX:一个数字,表示滚动内容时的水平偏移量。正值会将内容向右滚动。负值会将内容向左滚动。
  • offsetY:一个数字,表示滚动内容时的垂直偏移量。正值会将内容向下滚动。负值会将内容向上滚动。
示例如下。

getVisualViewportInfo()

检索有关WebView视觉视口的信息。

返回值

一个对象,包含有关视觉视口的信息,包括:
  • height:视觉视口的高度。
  • width:视觉视口的宽度。
  • offsetTop:从视觉视口顶部到内容顶部的偏移量。
  • offsetLeft:从视觉视口左侧到内容左侧的偏移量。
示例如下。

getContentSizeInfo()

检索有关WebView中内容大小的信息。

返回值

一个对象,包含有关内容大小的信息,包括:
  • scrollWidth:内容的总宽度。
  • scrollHeight:内容的总高度。
示例如下。

reload()

此方法重新加载WebView实例的当前页面。 示例如下。

相关主题


最后修改于 2026年10月26日