zoukankan      html  css  js  c++  java
  • 移动端返回上一页怎么判断

    开发app webview的时候遇到这样的需求,同一个页面,有不同的打开方式(链接跳转与新的webview打开),在改页面点击返回按钮的时候,需要做不同处理,

    比如新打开的这个页面是A页面

    两种打开方式

      打开方式一:点击B页面的链接跳转到A页面,点击返回,返回到B页面

      打开方式二:用新的webview打开A页面,点击返回,关闭当前webview

    关键点是如何判断A页面的来源,解决方案是:

    1、最简单的方式是根据不同的打开方式,给A页面传递不同的参数

      缺点是当前落地页(A页面)需要配置两个链接来判断来源

    2、还有就是用document.referrer获取url历史记录上一条链接来判断,当前页面是否可回退

      缺点是hash与search变化不会被document.referrer捕获到,如果是vue类hash切换跳转页面降无法判断

      referrer当然也有获取不到的时候,这个时候就尴尬了。有哪些情况呢?

        1.直接在浏览器中输入地址
        2.用location.reload()、location.href()、location.replace()等刷新页面
        3.扫码进入微信或QQ浏览器
        4.直接新窗口打开一个页面
        5.meta标签来控制不让浏览器发送referer <meta content="never" name="referrer">
    3、通过popstate事件监听历史记录的变动。事件对象的state属性返回history 实体,判断是否有上一页。

    参考链接:

    1、如何获取url访问历史记录

    2、document.referrer

    3、使用history.length判断是否有上一页面,如果没有就返回到指定页面 只能判断一部分

  • 相关阅读:
    001 windows下如何生成公钥和私钥
    函数基础
    各种推导式
    MySQL误删数据
    kafka 学习笔记
    Nginx 功能
    Nginx 到底可以做什么
    Nginx 到底可以做什么
    Shell的18条常用命令整理
    超详细 Nginx 极简教程
  • 原文地址:https://www.cnblogs.com/fqlGlog/p/10027528.html
Copyright © 2011-2022 走看看