水绅 2023-06-21 16:27 采纳率: 83.3%
浏览 162
已结题

移动端H5window.location.href跳转第三方页面返回后当前页面无法使用window.history.back()

页面A跳转到页面B,页面B使用window.location.href跳转第三方页面,然后在返回,页面B使用window.history.back()无法返回到页面A

ios的Safari浏览器上有的手机可以返回到页面A
有的手机不可以返回,这是为啥?

可以返回的手机打印window.history.length只增加一次
不可以返回的手机每次使用window.location.href跳转一次,window.history.length就增加一次,,Safari浏览器物理返回左滑返回都不行

  • 写回答

11条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2023-06-21 16:33
    关注
    获得0.90元问题酬金

    回答引自chatgpt
    可能与浏览器的历史记录缓存有关。在使用 window.location.href 跳转到第三方页面后,浏览器可能会缓存这个历史记录,导致后续使用 window.history.back() 返回时无法回到页面 A。

    对于可以返回的手机,可能浏览器的历史记录缓存机制不同,或者浏览器本身就对历史记录缓存做了特殊处理。

    为了解决这个问题,可以尝试使用下面的方法:
    使用 window.location.replace() 跳转到第三方页面,而不是 window.location.href。这个方法会替换当前的历史记录,而不是添加新的历史记录,可能能够避免历史记录缓存导致的问题。

    在页面 B 中,可以在跳转到第三方页面之前,使用 window.history.replaceState() 方法修改当前的历史记录,将其替换为页面 A 的历史记录。这个方法也可以避免历史记录缓存导致的问题。

    在页面 A 中,可以使用 window.location.reload() 方法刷新页面,这样可以清除浏览器的历史记录缓存,避免后续的问题。

    评论

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 修改了问题 6月21日
  • 创建了问题 6月21日

悬赏问题

  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?