想在webview显示的时候做一些事情,不知道有没show事件,只知道有一个loaded事件,但不合用
- 发布:2016-03-03 17:54
- 更新:2016-03-20 16:28
- 阅读:2977
ren (作者)
这个我看了,还有一种情况,就是当我点击回退按钮回到上一次打开的页面,上一个页面可不可以监听到这个事件?上层的webview关闭了或者隐藏了,下层的webview则显示,下层的那个webview能不能知道自己被显示了,能知道我在说什么吗?
据我的实测结果,show 事件仅当直接调用 webview.show() 时被触发。所以,楼上两位想要的那个事件是没有的,只能自己用程序逻辑来解决。
话说,当点击【回退按钮】时,本质上只是【关闭或隐藏当前的 webview 窗口】,而所谓的【回到上一次打开的页面】只是那个 webview 碰巧被显露在屏幕上而已,从目前的逻辑框架上看,那个 webview 在这个时候并不存在一个 show 的语义。考虑到一个 webview 可能并不是占满整个屏幕,而一个 webview 也可能只有一部分被显示在屏幕上(其它部分被另外的 webview 所遮挡),这种语义的缺失也是无奈的,可以理解的。
我个人的理解,webview 是 5+ Runtime 的强项,也是核心内容,但说到底只是对系统级原生对象的直接暴露,几乎没做什么包装,所以在很多常见的应用场景下用起来颇感掣肘。只有【下拉刷新】是一个很贴近应用场景的包装,还是由 mui 提供的,而且扩展灵活性还受限,比如【横向切换多个列表】跟【下拉刷新】结合使用的场景……
前几天偶然看了看 appcan,注意到它的应用引擎是一个由 widget/window 组成的框架,貌似更贴近应用场景。准备有时间仔细学习一下。
仲夏夜之梦
webview create新窗口后,loaded之后show,在oppo R17 会失效,是什么原因呢?
2019-04-03 15:55