智能客服
你问我答,随时在线为你解决问题
在manifest.json文件的 features属性中增加如下配置。
{"name": "system.webview"} 在调用接口页面的<script>部分增加如下配置。
import webview from '@system.webview'
或
var webview = require("@system.webview") | 限制条件 | 说明 |
|---|---|
| 适用终端 | 手机、平板、车机 |
| 适用区域 | 全球 |
| 接口 | 描述 |
|---|---|
| 打开网页,标题栏样式与打开webview的页面的标题栏样式相同,在webview的useragent后追加内容,格式是hap/<平台版本号>/<厂商标识> <平台应用包名>/<平台应用版本号> <应用包名>/<应用版本号> (<来源信息>)。 | |
| 使用Custom Tabs打开网页,并根据传入参数自定义华为浏览器的外观和风格。 | |
| 预加载网页Url。 | |
| 获取手机上CustomTabs能力是否可用,以及支持特性。 | |
| 跳转到当前应用的指定页面。 |
描述
打开网页,标题栏样式与打开webview的页面的标题栏样式相同,在webview的useragent后追加内容,格式是hap/<平台版本号>/<厂商标识> <平台应用包名>/<平台应用版本号> <应用包名>/<应用版本号> (<来源信息>)。“来源信息”与app接口的getInfo方法返回结果中的source字段相同。Webview接口支持文件下载能力。
如果您的网站是https的,建议在页面中不要存在http链接,否则可能存在中间人攻击的安全风险,因为快应用在底层实现层没有对http/https混用的场景做限制
OBJECT参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要加载的页面url。 注意 1、如果页面中有使用定位功能,那么页面必须为https网站。 2、不建议使用http/https混合加载模式。 |
| allowthirdpartycookies(1030+) | boolean | 否 | 支持跨域cookies传递,默认为false,即为不支持。 |
| showloadingdialog(1070+) | boolean | 否 | 是否展示加载进度条,默认值为true。 |
示例代码
webview.loadUrl({
url:'https://www.example.com',
allowthirdpartycookies: false
}) 描述
使用CustomTabs打开网页,并根据传入参数自定义华为浏览器的外观和风格。
OBJECT参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要加载的页面url。 注意 1、如果页面中有使用定位功能,那么页面必须为https网站。 2、不建议使用http/https混合加载模式。 |
| options | object | 否 | 自定义华为浏览器的外观和风格选项参数。 |
| success | function | 否 | 成功回调。 |
| fail | function | 否 | 失败回调。 |
| complete | function | 否 | 执行结束后的回调。 |
options参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| toolBarColor | string | 否 | Toolbar颜色,十六进制色码。 |
| showTitle | boolean | 否 | 标题是否显示。
|
| addDefaultShareMenuItem | boolean | 否 | 是否添加默认分享菜单项。
|
| navigationBarColor | string | 否 | 手机NavigationBar颜色,十六进制色码。 |
| colorScheme | string | 否 | 主题模式,默认为COLOR_SCHEME_SYSTEM。取值范围:
|
| enableUrlBarHiding | boolean | 否 | 网页拖动的时候是否隐藏地址栏。
|
| isOpenAdFilter | boolean | 否 | 是否进行广告过滤,false:关闭广告过滤开关,默认跟随华为浏览器本身设置。 注意 广告过滤开关只能设置false(即只能关闭广告过滤), 设置true会忽略, 使用浏览器默认的设置。 |
| isOpenBlockTrackingCookies | boolean | 否 | 拦截跟踪型cookies。默认为false,true表示打开拦截跟踪型cookies,默认跟随华为浏览器本身设置。 |
| whenAboutBlankClose | boolean | 否 | 定制Custom Tab网页,当加载about:blank链接,是否需要关闭Custom Tab界面。默认为false,true表示网页加载about:blank链接会关闭Custom Tab界面。 |
| userAgent | string | 否 | ua类型,取值范围: ANDROID_MODE、PC_MODE、IPHONE_MODE、PAD_MODE。 |
| launchFlag(1078+) | string | 否 | 打开浏览器customTabs页面的模式。 字符串格式,多个参数以逗号分隔(当前仅支持 newTask)。 newTask: 以新的任务栈打开浏览器customTabs页面,适用于有前台服务拉起对应customTabs页面的场景,比如点击通知栏音乐播放器跳转到customTabs页面。 |
示例代码
webview.loadCustomTabsUrl({
url: 'https://www.toutiao.com',
options: {
toolBarColor: '#FF00FF',
showTitle: 'false',
addDefaultShareMenuItem: true,
navigationBarColor: '#00BFFF',
enableUrlBarHiding: 'true',
isOpenAdFilter: false,
isOpenBlockTrackingCookies: true,
whenAboutBlankClose: true,
colorScheme: 'COLOR_SCHEME_DARK'
},
}) 描述
预加载网页Url。
参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| url | string | 否 | 要预加载的url。 注意 如果页面中有使用定位功能,那么页面必须为https网站。 |
| success | function | 否 | 成功回调。 |
| fail | function | 否 | 失败回调。 |
| complete | function | 否 | 执行结束后的回调。 |
示例代码
webview.preloadCustomTabsUrl({
url: "https://www.huawei.com/",
success: function (data) {
prompt.showToast({
message: data
})
},
fail: function (data) {
prompt.showToast({
message: data
})
}
}) 描述
获取手机上Custom Tabs能力是否可用,以及支持特性。
返回值
| 参数 | 类型 | 说明 |
|---|---|---|
| cctVersion | int | 当前手机支持的Custom Tabs版本,默认为1。
|
示例代码
const res = webview.getCustomTabsVersion()
prompt.showToast({
message: 'CustomTabsVersion: ' + res.cctVersion
}) 描述
WebView内部API,在webview打开的网页中可以使用的API。跳转到当前应用的指定页面。
参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 要跳转的页面,例:/detail?param1=value1特殊的,如果path的值是"/",则跳转到path为"/"的页,没有则跳转到首页。 |
示例代码
system.go("/detail?param1=value1") <template>
<div>
<div>
<text>{{componentName}}</text>
</div>
<div>
<input type="button" onclick="loadUrl" value="打开华为官网" />
</div>
<div>
<input type="button" onclick="loaddownLoadUrl" value="打开带下载链接的网页" />
</div>
<div>
<input type="button" onclick="loadFileUploadSupportUrl" value="打开webview支持文件上传网页" />
</div>
<div>
<input type="button" onclick="allowthirdcookie" value="支持cookie跨域" />
</div>
</div>
</template>
<style>
@import '../Common/css/common.css';
.item-container {
margin-bottom: 50px;
margin-right: 60px;
margin-left: 60px;
flex-direction: column;
}
</style>
<script>
import webview from '@system.webview'
export default {
data: {
componentName: 'webview'
},
onInit: function () {
this.$page.setTitleBar({ text: 'webview' })
},
loadUrl: function () {
webview.loadUrl({
url: 'https://www.huawei.com/'
});
},
loaddownLoadUrl: function () {
webview.loadUrl({
url: 'https://www.toutiao.com'
});
},
loadFileUploadSupportUrl() {
webview.loadUrl({
url: "https://lfmemberdev.hwcloudtest.cn:9094//fastapp/download/webview/file_chooser_demo_3.html"
});
},
allowthirdcookie: function () {
webview.loadUrl({
url: 'https://page.cainiao.com/mcn/publichome/pkg.html',
// url: "https://www.hao123.com/",
allowthirdpartycookies: true
});
}
}
</script> | 版本 | 发布日期 | 描述 |
|---|---|---|
| 1070 | 2020-05-19 | loadUrl新增showloadingdialog 参数,用于控制是否展示加载进度条。 |
| 1040 | 2019-06-24 | 新增Demo。 |
| 1030 | 2018-10-31 | webview.loadUrl新增allowthirdpartycookies参数,用于设置是否支持跨域cookies传递。 |
| 1020 | 2018-06-20 | 新增文件下载能力,点击下载链接,下载文件保存至sd卡的Download文件夹。 |