uniapp 监听 webview 地址变化
时间: 2025-05-29 07:10:39 浏览: 7
### UniApp 中监听 WebView 地址变化
在 UniApp 开发过程中,为了实现更复杂的功能需求,有时需要监听 WebView 的 URL 变化。这可以通过 `webview` 组件的特定属性和方法来完成。
#### 使用 loadfilter 属性监听加载过程中的 URL 改变
当使用 `<web-view>` 组件时,可以利用其 `loadfilter` 属性配合 JavaScript 实现对网页加载过程中的 URL 监控:
```html
<template>
<view>
<web-view :src="url" @message="handleMessage" @onPageShow="pageShow"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
url: 'https://example.com'
};
},
methods: {
handleMessage(e) {
console.log('收到消息:', e.detail);
},
pageShow(event){
const webView = event.target;
uni.onWebViewEvent({
webview:webView,
success(res){
if (res.eventType === 'titleUpdated' || res.eventType === 'startLoad') {
console.log(`新的URL为:${res.url}`);
}
}
});
}
}
};
</script>
```
此代码片段展示了如何通过 `@onPageShow` 事件触发器捕获到页面显示时机,并注册回调函数用于监控 WebView 加载状态的变化[^1]。
另外,在某些情况下可能还需要借助 HBuilderX 提供的一些扩展 API 来增强功能,比如上面提到过的 plus.webview.currentWebview().getURL() 获取当前 Webview 对象及其 URL[^3]。
对于更加复杂的场景,则建议深入研究官方文档以及社区资源寻找解决方案。
阅读全文
相关推荐


















