Web中加载网页后获取当前页面和url

通过webview加载一个网页后,在有的场景下需要获取到当前页面的信息和加载的url,通过getUrl和storeWebArchive方法来获取当前的url和页面。

HarmonyOS
2024-05-26 17:36:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
PinkFish

核心代码解释

import web_webview from '@ohos.web.webview' 
import business_error from '@ohos.base' 
  
@Entry 
@Component 
struct WebComponent { 
  controller: web_webview.WebviewController = new web_webview.WebviewController(); 
  
  build() { 
    Column() { 
      Button('storeWebArchive') 
        .onClick(() => { 
          try { 
            this.controller.storeWebArchive("/data/storage/el2/base/", true, (error, filename) => { 
              if (error) { 
                console.info(`save web archive error: ` + JSON.stringify(error)) 
                return; 
              } 
              if (filename != null) { 
                console.info(`save web archive success: ${filename}`) 
              } 
            }); 
          } catch (error) { 
            let e:business_error.BusinessError = error as business_error.BusinessError; 
            console.error(`ErrorCode: ${e.code},  Message: ${e.message}`); 
          } 
        }) 
      Button('getUrl') 
        .onClick(() => { 
          try { 
            let url = this.controller.getUrl(); 
            console.log("url: " + url); 
          } catch (error) { 
            let e:business_error.BusinessError = error as business_error.BusinessError; 
            console.error(`ErrorCode: ${e.code},  Message: ${e.message}`); 
          } 
        }) 
      Web({ src: 'https://www.baidu.com', controller: this.controller }) 
    } 
  } 
}

还需要在module.json5文件里加上网络权限。

通过以上两个按钮绑定的点击事件实现获取当前网页的内容和url,通过日志可以发现

从日志里已经获取到了当前加载的url,并且保存的页面也放置在了相应的位置。

分享
微博
QQ
微信
回复
2024-05-27 22:17:36
相关问题
WebView支持获取当前页面url吗?
447浏览 • 1回复 待解决
鸿蒙注销当前页面是哪个方法?
7226浏览 • 1回复 已解决
按需加载场景中加载动态模块失败
473浏览 • 1回复 待解决
鸿蒙Webview加载Url,alipay无法返回
7732浏览 • 1回复 待解决
如何实现页面加载前从接口获取数据
857浏览 • 1回复 待解决
页面加载获取网络图片的宽高
180浏览 • 1回复 待解决
如何给页面URL附加HTTP请求头
879浏览 • 1回复 待解决