[已删除]
[已删除]
  • 发布:2018-09-07 17:17
  • 更新:2022-04-04 12:42
  • 阅读:10197

uni-app使用webview,能不能监听webview关闭,或者在H5退出到进入webview之前的页面

分类:uni-app

uni-app使用webview,能不能监听webview关闭,或者在H5退出到进入webview之前的页面

2018-09-07 17:17 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com - app+前端开发者

也是找了半天资料才在5+里面看到web-view的监听事件~
比如:

<template>
<view>
<web-view class="web-page" :src="loadUrl" :webview-styles="webStyle" @message="webMsg"></web-view>
</view>
</template>

在onload()里面
var pageWeb = this.$mp.page.$getAppWebview();//获取当前页面的webview对象
setTimeout(function() {

                var web = pageWeb.children()[0];//延时一点获取防止还没得~!  

}, 10);
web.addEventListener('loaded',function() {//事件监听
//web加载完成~!
},false);
//各种事件监听参考https://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject中的addEventListener

  • 2***@qq.com

    另外 页面结构是这样的

    <template>

    <view>

    <web-view class="web-page" :src="loadUrl" :webview-styles="webStyle" @message="webMsg"></web-view>

    </view>

    </template>

    2019-09-18 15:49

i***@outlook.com

i***@outlook.com - 台灣

如何让webview reload?

  • [已删除] (作者)

    可以用5+ 的 plus.webview去控制webview,但是webview关闭之后,就是一个空白页面了,要多按一次返回才能回到之前的页面

    2018-09-07 23:54

末学门丰

末学门丰 - 工作室开发者

这是咋解决的。怎么没有答案啊

诸葛逍遥

诸葛逍遥

这个问题解决了吗

1***@qq.com

1***@qq.com - 程序狗

官方文档写的太敷衍了,我也是看到楼上的才写出来的,我贴下代码

var currentWebview = this.$mp.page.$getAppWebview();//得到web-view  
            setTimeout(function() {  
                console.log(currentWebview.children().length)  
                var wv = currentWebview.children()[0]  
                wv.addEventListener('close',function() {//事件监听  
                uni.navigateBack({//回退页面  
                    delta: 1  
                })  
                },false);  
            }, 1000);
  • 6***@qq.com

    安卓没用,安卓还是一个一个页面的返回

    2021-10-07 11:14

l***@163.com

l***@163.com

参考这个,有完整例子,https://mp.csdn.net/mp_blog/creation/editor/123950821

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