文档管理中心

打开网页

接口声明

在manifest.json文件的 features属性中增加如下配置。

{"name": "system.webview"}

导入模块

在调用接口页面的<script>部分增加如下配置。

import webview from '@system.webview'

var webview = require("@system.webview")

使用限制

展开

限制条件

说明

适用终端

手机、平板、车机

适用区域

全球

接口定义

展开

接口

描述

webview.loadUrl(OBJECT)

打开网页,标题栏样式与打开webview的页面的标题栏样式相同,在webview的useragent后追加内容,格式是hap/<平台版本号>/<厂商标识> <平台应用包名>/<平台应用版本号> <应用包名>/<应用版本号> (<来源信息>)。

webview.loadCustomTabsUrl(OBJECT)

使用Custom Tabs打开网页,并根据传入参数自定义华为浏览器的外观和风格。

webview.preloadCustomTabsUrl(OBJECT)

预加载网页Url。

webview.getCustomTabsVersion()

获取手机上CustomTabs能力是否可用,以及支持特性。

system.go(path)

跳转到当前应用的指定页面。

webview.loadUrl(OBJECT)

描述

打开网页,标题栏样式与打开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
})

webview.loadCustomTabsUrl(OBJECT) (1078+,非厂商联盟规范)

描述

使用CustomTabs打开网页,并根据传入参数自定义华为浏览器的外观和风格。

OBJECT参数

展开

参数

类型

是否必填

说明

url

string

要加载的页面url。

注意

1、如果页面中有使用定位功能,那么页面必须为https网站。

2、不建议使用http/https混合加载模式。

options

object

自定义华为浏览器的外观和风格选项参数。

success

function

成功回调。

fail

function

失败回调。

complete

function

执行结束后的回调。

options参数

展开

参数

类型

是否必填

说明

toolBarColor

string

Toolbar颜色,十六进制色码。

showTitle

boolean

标题是否显示。

  • true:显示
  • false:隐藏

addDefaultShareMenuItem

boolean

是否添加默认分享菜单项。

  • true:添加
  • false:不添加

navigationBarColor

string

手机NavigationBar颜色,十六进制色码。

colorScheme

string

主题模式,默认为COLOR_SCHEME_SYSTEM。取值范围:

  • COLOR_SCHEME_SYSTEM:系统主题
  • COLOR_SCHEME_LIGHT:浅色主题
  • COLOR_SCHEME_DARK:深色主题

enableUrlBarHiding

boolean

网页拖动的时候是否隐藏地址栏。

  • true:隐藏
  • false:不隐藏

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'
  },
})

webview.preloadCustomTabsUrl(OBJECT) (1078+,非厂商联盟规范)

描述

预加载网页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
    })
  }
})

webview.getCustomTabsVersion() (1078+,非厂商联盟规范)

描述

获取手机上Custom Tabs能力是否可用,以及支持特性。

返回值

展开

参数

类型

说明

cctVersion

int

当前手机支持的Custom Tabs版本,默认为1。

  • 当值>=1时支持以Custom Tabs方式打开网页。
  • 当值>=2 时支持设置UA类型。

示例代码

const res = webview.getCustomTabsVersion()
prompt.showToast({
  message: 'CustomTabsVersion: ' + res.cctVersion
})

system.go(path)

描述

WebView内部API,在webview打开的网页中可以使用的API。跳转到当前应用的指定页面。

参数

展开

参数

类型

是否必填

说明

path

string

要跳转的页面,例:/detail?param1=value1特殊的,如果path的值是"/",则跳转到path为"/"的页,没有则跳转到首页。

示例代码

system.go("/detail?param1=value1")

Demo

<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文件夹。

相关链接

搜索
请输入您想要搜索的关键词