# ohos-AdvancedWebView **Repository Path**: hihopeorg/ohos-AdvancedWebView ## Basic Information - **Project Name**: ohos-AdvancedWebView - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-12 - **Last Updated**: 2021-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ohos-AdvancedWebView **本项目是基于开源项目AdvancedWebView进行ohos化的移植和开发的,可以通过项目标签以及github地址(https://github.com/delight-im/Android-AdvancedWebView )追踪到原项目版本** #### 项目介绍 - 项目名称:高级的WebView - 所属系列:ohos的第三方组件适配移植 - 功能: 1.对页面开始/完成加载或出现错误时接收回调监听。 2.包括25种最广泛使用的语言的本地化版本。 3.添加自定义HTTP标头,以及由网络浏览器实现发送的标头。 - 项目移植状态:完成 - 调用差异:无 - 项目作者和维护人:hihope - 联系方式:hihope@hoperun.com - 原项目Doc地址:https://github.com/delight-im/Android-AdvancedWebView - 原项目基线版本:v3.0.0,sha1:49c79c7e18a40044f7c5500f8da72c13bcf4bdee - 编程语言:Java ## 效果展示: #### 安装教程 ##### 方案一: 1. 添加har包到lib文件夹内。 2. 在entry的build.gradle内添加如下代码。 ``` implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) ``` ##### 方案二: 1. 在工程的build.gradle的allprojects中,添加HAR所在的Maven仓地址: ``` repositories { maven { url 'http://106.15.92.248:8081/repository/Releases/' } } ``` 2. 在应用模块的build.gradle的dependencies闭包中,添加如下代码: ``` dependencies { implementation 'im.delight.ohos:advancedwebview:1.0.0' } ``` #### 使用说明 1. 添加权限 ``` "reqPermissions": [ { "name": "ohos.permission.INTERNET" }, { "name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" } ] ``` 2. XML中引用组件 ``` ``` 3. 调用方式 ``` mWebView = (AdvancedWebView) findComponentById(ResourceTable.Id_webView); mWebView.setListener(getAbility(), this); mWebView.addHttpHeader("X-Requested-With", ""); mWebView.load("https://www.example.org/"); ``` 4. 监听回调 ``` @Override public void onPageStarted(String url, PixelMap favicon) { mWebView.setVisibility(Component.INVISIBLE); } @Override public void onPageFinished(String url) { mWebView.setVisibility(Component.VISIBLE); } @Override public void onPageError(int errorCode, String description, String failingUrl) { new ToastDialog(MainAbilitySlice.this) .setText("onPageError(errorCode = " + errorCode + ", description = " + description + ", failingUrl = " + failingUrl + ")") .show(); } @Override public void onDownloadRequested(String url, String suggestedFilename, String mimeType, long contentLength, String contentDisposition, String userAgent) { new ToastDialog(MainAbilitySlice.this).setText("onDownloadRequested(url = " + url + ", suggestedFilename = " + suggestedFilename + ", mimeType = " + mimeType + ", contentLength = " + contentLength + ", contentDisposition = " + contentDisposition + ", userAgent = " + userAgent + ")").show(); } @Override public void onExternalPageRequest(String url) { System.out.println("qcb--- onExternalPageRequest:" + url); } ``` #### 版本迭代 - v1.0.0 实现功能 - webViw加载服务器页面url - webView加载本地静态页面 - 开始/完成加载或出现错误时接收回调监听 - 添加自定义HTTP标头 未实现功能 - webView下载监听 #### 版权和许可信息 - This project is licensed under the terms of the [MIT License](https://opensource.org/licenses/MIT).