ホームページ  >  に質問  >  本文

javascript - js如何重定义手机上的back键?

请在微信里访问这里

我用模态窗口实现了页面的效果,但是这样有一个问题,比如说点击左下角进入个人中心,有的人想要退回来可能就直接点后退键,这时候就直接退出网站了。

请教有没有办法能够针对所有手机重新定义后退键的含义??

PHP中文网PHP中文网2749日前392

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-04-10 14:51:37

    LZ要不要返回功能?

    如果是不要返回功能,那么微信有一个功能可以隐藏微信中网页底部导航栏,见这里

    但安卓的返回按键没辙:

    • 没办法处理按键事件,返回按键触发回退是浏览器默认行为,不能在前端通过监测keydown之类的方式来阻止
    • 可以针对页面地址变化的形式监测hashchange和popstate,但这两个事件都是不可cancel的(ref)

    但我感觉LZ做的是SPA/RIA,需要利用到地址变化和返回功能,这个时候就需要通过js制造历史记录,在合适的地方使用history接口的pushState、popState或replaceState吧。

    如果是jQM,自然有pagechangebefore之类的托管事件用于处理历史记录。

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-10 14:51:37

    个人认为需要结合cookie或者loaclstorage来实现吧。
    可以设置一个数组,存储的是访问过的页面地址,并按序推入数组,在进入下个页面的时候,js控制设置返回按钮所要返回的url。

    返事
    0
  • キャンセル返事