1***@qq.com
1***@qq.com
  • 发布:2023-12-22 10:12
  • 更新:2024-08-08 11:06
  • 阅读:1723

uniapp 监听 web-view url 改变

分类:uni-app

问题描述:
比如说我给webContent赋值为:https://ask.dcloud.net.cn/explore/
当通过web-view我打开页面后,点击网页中的标签进行了页面跳转,
现在我想获取到新旧的地址,uniapp并没有执行vue的生命周期事件,无法输出新旧URL地址

源代码:

<template>  
    <view class="app-webview">  
        <div>  
            <p>{{QRContent}}</p>  
        </div>  
        <div v-if="webContent">  
            <web-view :src="webContent"></web-view>  
        </div>  
    </view>  
</template>  

<script>  
    var wv;//计划创建的webview  
    export default {  
        data() {  
                return {  
                    QRContent: '',  
                    webContent: '',  
                    currentWebview:'',  
                }  
            },  
            methods: {  

            },  
            onLoad (options) {  
                // 渲染页面信息  
                if(options.url != null){                      
                    this.webContent = options.url;// 普通webview页面跳转  
                }else if(options.QRCode.indexOf('http') == -1){                   
                    this.QRContent = options.QRCode;// 二维码纯文本  
                }else{                    
                    this.webContent = options.QRCode;// 二维码网页  
                }  
                // #ifdef APP-PLUS  
                this.currentWebview = this.$mp.page.$getAppWebview()// 当前页面赋值  
                // #endif  

                console.log("新地址");  
                console.log("旧地址");  
            },  
            onUnload() {                  
                plus.screen.lockOrientation('portrait-primary');// 锁死 竖屏正方向  
            }  
        }  
</script>
2023-12-22 10:12 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

  • 1***@qq.com (作者)

    我可查阅了很多资料,都没搞定,这个也看了,可以提供基于我的代码修改吗,感谢

    2023-12-22 11:18

1***@163.com

1***@163.com

const wv = currentWebview.children()[0]  
wv.addEventListener('loading', function(e){  
    console.log('Loading: '+e.target.getURL())  
}, false);

要回复问题请先登录注册