雨悸
雨悸
  • 发布:2020-09-16 14:57
  • 更新:2021-10-07 10:49
  • 阅读:3798

uni-app 怎么监听app的左滑返回事件?

分类:uni-app

uni-app 怎么监听app的左滑返回事件?

因为在页面中使用了webview,想监听返回事件,进行处理web的返回。。。就像监听点击返回按钮这样进行处理。。。


onBackPress(options) {  
        console.log('点击后退from:' + options.from)  
        if(options.from =='backbutton'){  
            var currentWebview = this.$mp.page.$getAppWebview(); //获取当前页面的webview对象  
            wv = currentWebview.children()[0];  
            if(wv){  
                 wv.canBack(e=>{  
                     console.log(e.canBack);  
                     if(e.canBack)  
                     {  
                         console.log("1111111111111111");  
                         wv.back();  
                         return true;   
                     }  
                 });  
             }  
        }  
    },  
2020-09-16 14:57 负责人:无 分享
已邀请:
6***@qq.com

6***@qq.com

同问

  • 2***@qq.com

    看下面,用iframe的方法,然后正常调用事件就行

    2021-10-07 10:58

  • 6***@qq.com

    回复 2***@qq.com: 不是iframe,是web-view加载一个网站,跳转多次之后,左滑只能返回到主界面

    2021-10-07 11:06

  • 2***@qq.com

    回复 6***@qq.com: web-view经过编译之后本质上还是iframe,至于跳转多次后执行左滑想干什么我这边不理解,不过,只要主页面能干的事,web-view中都能干,通过ContentWindow可以获取的webview的DOM对象,可以直接设置监听器或者直接调用方法

    2021-10-07 12:00

  • 6***@qq.com

    回复 2***@qq.com: 你就假设我做的是uc浏览器就可以了,我的浏览器可以访问很多网站,返回的时候我希望可以左滑返回

    2021-10-07 12:10

  • 2***@qq.com

    回复 6***@qq.com: webview里面应该是html对象了,应该没有tap事件(也不确定),要用onmousedown,监听鼠标滑动(类似可参考https://www.cnblogs.com/jyc226/p/7137827.html),具体要按实际需求来实现,反正ContentWindow获取到了html对象,你可以干很多事

    2021-10-07 14:18

  • 6***@qq.com

    回复 2***@qq.com: 这样也太麻烦了吧。。

    2021-10-07 14:25

  • 2***@qq.com

    回复 6***@qq.com: 左右滑动事件是手势来的,uni应该没封装,一般是用tap事件返回的坐标来判断横向移动是否达到阈值,纵向移动是否超过横向移动距离(即手势是否超过45度),插件市场可以搜一下,或许有封装好的

    2021-10-07 14:56

2***@qq.com

2***@qq.com

是获取不到webview的事件吗?

  • 2***@qq.com

    可以理解为iframe,然后用这两个东西可以相互调用

    父调用子:ContentWindow

    子调用父:window.parent

    2021-10-07 10:54

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