# 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).