美文网首页
Safari浏览器redirect的时候hash丢失问题

Safari浏览器redirect的时候hash丢失问题

作者: Gary的个人空间 | 来源:发表于2020-03-01 12:37 被阅读0次

    问题描述

    ​ 最近遇到一个很奇怪的问题,在做开发的时候需要从一个系统单点登录到一个H5系统,此H5系统使用vuejs开发,然后单点登录时在另外的系统使用response.sendRedirect跳转到一个sso的vue路由路径:

       http://h5.xxx.xxx/mobile/#!/sso?jwt_token=xxxxxxx
    

    此跳转在Windows环境、Android环境都能正常跳转过去,并且hash部分/sso?jwt_token=xxx等信息都保留,

    但是到了iOS,Mac电脑跳转的时候后面的hash部分丢失了,因此造成了单点登录失败。

    问题原因

    ​ 在iOS和Mac平台上的Safari其实有个问题,在URL路径没有完全精确匹配的情况下会丢失hash:

    参考:

    https://stackoverflow.com/questions/31797448/safari-failing-to-follow-server-side-redirect-with-https-and-hash-params

    最终解决问题,其实最终跳转后的页面会停留在/index.html页面上,默认如果没有带上/index.html的话在chrome等其他浏览器上都正常,但是在Safari上是有问题的,因此给redirect的URL添加上/index.html解决问题。

      http://h5.xxx.xxx/mobile/index.html#!/sso?jwt_token=xxxxxxx
    

    相关文章

      网友评论

          本文标题:Safari浏览器redirect的时候hash丢失问题

          本文链接:https://www.haomeiwen.com/subject/yisfkhtx.html