棱山
棱山
  • 发布:2017-06-08 11:06
  • 更新:2017-06-08 11:11
  • 阅读:4679

mui在a标签上加了mui-action-back类名后,返回上一页功能有时会失效?

分类:MUI

比如,在 a.html 页面点击超链: <a href="b.html">跳转到B页面</a>,
本页跳转到b.html ,然后点击b页面的锚点链接: <a href="#c">跳转到本页面的C处</a>
跳到b.html的C处, 此时点击返回<a class="mui-action-back"></a>,
则会先回到b.html,再次点击<a class="mui-action-back"></a>.才能正确的回到a.html
如何让其直接回到 a.html???而不会因为锚点的关系,要点两次才能返回成功?

2017-06-08 11:06 负责人:无 分享
已邀请:
chender

chender - 与人为善

因为你是用的单webview,锚点时hash值变了,也会被记载到history里面去
mui,back的逻辑是,先看你当前webview能不能回退,能回退的话就回退,不能回退的话就关闭当前webview;
你可以直接重写mui.back,把当前webview关掉即可

  • 棱山 (作者)

    如何重写呢?有没有链接我学习下.谢谢.

    2017-06-08 11:17

  • chender

    mui.back=function(){

    plus.webview.currentWebview().close();

    }


    前提是你的这个页面不是父子结构的哈,

    如果是父子结构的话,要这样

    mui.back=function(){

    plus.webview.currentWebview().parent().evalJs('mui.back()');

    }

    2017-06-08 11:21

  • 棱山 (作者)

    回复 chender:没有效果,还是不能直接回退.没办法了.呜呜呜

    2017-06-08 11:35

  • chender

    我上面的代码是手敲的,可能会有语法错误,你看下报错没,逻辑肯定是没问题的

    2017-06-08 11:40

  • 棱山 (作者)

    回复 chender:没有报错,我打开的页面是一个新的页面,如果关闭了.自动回到上个页面吗/?就是没有效果

    2017-06-08 11:45

  • chender

    你在plus.webview.currentWebview().close();前面加个alert,看点返回的时候,会不会弹框;

    2017-06-08 11:50

  • 1***@qq.com

    我的直接给我返回到了首次的登录页面,这种是怎么回事?

    2021-09-07 17:19

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