专业的编程技术博客社区

网站首页 > 博客文章 正文

获取当前webview的URL(Uniapp必会)

baijin 2025-04-26 16:35:51 博客文章 6 ℃ 0 评论

大家好,我是大澈!一个喜欢结交朋友、喜欢编程技术和科技前沿的老程序员,关注我,科技未来或许我能帮到你!

今天做uniapp项目时,遇到一个需求,需要获取当前webview的URL,然后根据页面URL判断,分别去做不同的处理。

不知道朋友们有没有遇到过该需求~

一、重点描述

技术栈使用的是uniapp,只针对App端。

这个URL可能是一个第三方链接,但注意并不是当前webview的路径。

直接通过 web-view 组件的 src 属性 或 message事件监听 URL 变化,是获取不到当前加载的URL的,获取到的只是当前webview的路径。

二、细节剖析

完整代码如图所示:

1、getCurrentPages();

作用:获取页面栈(所有已打开的页面实例数组)。

说明:

getCurrentPages() 是 uni-app 的官方 API,返回当前页面栈的实例数组,最后一个元素代表当前显示的页面。

2、page.$getAppWebview();

作用:获取当前页面对应的原生 WebView 对象。

说明:

$getAppWebview() 不是官方公开 API,它是 HBuilderX 内部方法,仅在 App 平台有效。

其他平台(如 H5、小程序)不支持该方法,调用会报错。

3、currentWebview.children()[0].getURL();

作用:从原生 WebView 对象中提取 URL。

说明:

currentWebview.children() 获取 WebView 的子组件列表。

.children()[0] 假定第一个子组件是目标 WebView(依赖层级结构,可能不稳定)。

.getURL() 调用原生 WebView 的方法获取当前加载的 URL。

好了,今天要分享的内容就是这么多,最后感谢朋友们给个点赞、分享、推荐,拜拜~

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表