jasonguo
jasonguo
  • 发布:2020-09-27 10:13
  • 更新:2021-01-26 14:33
  • 阅读:4780

uniapp开发中如何监听web-view组件中的页面跳转

分类:uni-app

uniapp开发中如何监听web-view组件中的页面跳转(类似于android开发中监听webview的WebViewClient事件)

2020-09-27 10:13 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com

请问解决了么

  • jasonguo (作者)

    解决了,看我下面的评论

    2021-01-26 14:34

4***@qq.com

4***@qq.com

WebviewOverrideUrlOptions

应该是这个就可以的 拦截URL后

  • jasonguo (作者)

    谢谢,已经解决了

    2021-01-26 14:34

jasonguo

jasonguo (作者)

解决方法:

var currentWebview = this.$mp.page.$getAppWebview(); //获取当前页面的webview对象,此对象相当于html5plus里的plus.webview.currentWebview()    
            setTimeout(function() {    
                let wv = currentWebview.children()[0];     

                wv.onloaded = () => {    
                    // 拦截所有页面跳转,可使用参数拦截weibo.com域名之外的跳转({mode:'allow',match:'.*weibo\.com/.*'})    
                    wv.overrideUrlLoading({ mode: 'reject',match:'*weibo\.com/.*' }, function(e) {    
                        // console.log('************url: '+e.url);  

                    });    
                };    
            }, 1000); //如果是页面初始化调用时,需要延时一下 
  • MonikaChen

    wv.listenResourceLoading也可以吗?

    2021-01-26 23:14

  • Enochjdy

    为什么web的第一次跳转监听不到,后面的可以监听到

    2021-04-27 15:25

  • 1***@163.com

    这个方式在为啥监听不到啊

    2022-03-28 16:11

  • 9***@qq.com

    nvue不行呢,压根没反应

    2023-04-09 16:45

  • 2***@qq.com

    回复 9***@qq.com: nvue页面有方案了吗

    2023-04-23 08:59

该问题目前已经被锁定, 无法添加新回复