Funk
Funk
  • 发布:2015-10-26 16:06
  • 更新:2015-10-26 17:31
  • 阅读:2118

如何解决用webview的窗口遮罩实现的弹出窗口边角是圆角?

分类:MUI

目前的问题是使用了圆角之后,边角的尖角依旧存在……

……以下为该问题前身
此前的问题:能否阻止手机返回键关闭页面?
相关补充:我的情况是,点击手机返回键会直接关闭当前页面,虽然关闭之后会弹出“是否要关闭该页面”的选项框,但是已经为时已晚……
然后我从MUI翻阅到:

遵从这个规则的话,我的页面是create,所以被关闭。
然后我用了预加载:
floattest = mui.preload({
url:'error/error.html',
id:'error',//默认使用当前页面的url作为id
});
结果按返回键依旧是关闭……请问这是不是一个bug?
【报Bug】关于webview预加载依旧被返回键关闭页面
最后发现没有问题…… 如果有问题一定是js哪里写错导致没有正常执行。
为了使得这个问题可以有价值……所以继续更改标题……

2015-10-26 16:06 负责人:无 分享
已邀请:
Danny

Danny - QQ125904483

呵呵......

mui.back()仅处理窗口逻辑,若希望在窗口关闭之前再处理一些其它业务逻辑,则可将业务逻辑抽象成一个具体函数,然后注册为mui.init方法的beforeback参数;beforeback的执行逻辑为:
-->执行beforeback参数对应的函数若返回false,则不再执行mui.back()方法;
-->否则(返回true或无返回值),继续执行mui.back()方法;

注意:beforeback的执行返回必须是同步的(阻塞模式),若使用nativeUI这种异步js(非阻塞模式),则可能会出现意想不到的结果;比如:通过plus.nativeUI.confirm()弹出确认框,可能用户尚未选择,页面已经返回了(beforeback同步执行完毕,无返回值,继续执行mui.back()方法,nativeUI不会阻塞js进程):在这种情况下,若要自定义业务逻辑,就需要复写mui.back方法。

注意:自定义关闭逻辑时,一定要重写mui.back,不能简单通过addEventListener增加back按键监听, 因为addEventListener只会增加新的执行逻辑,老的监听逻辑依然会执行。

  • Funk (作者)

    说到我另一个需要的点子上了 非常有用的说。不过我的情况是需要用手机返回键返回 但是不关闭原页面,而是隐藏。这样的话beforeback就不行了……还是需要用preload。 谢谢你的回答~

    2015-10-26 17:37

Funk

Funk (作者)

偶还有什么话好说呢……翻过千山万水,蓦然回首,一定是我原来的代码哪里写错导致mui没有正常执行的缘故。总的还说还是值得高兴的,没有任何的问题……

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