收藏
回答

微信H5纯签约唤起后,返回后跳转到域名根目录下

微信纯H5签约唤起签约页面后,重新返回到唤起页面,iphone13 或某些浏览器直接返回域名根目录下了。而不是当前唤起页面。

回答关注问题邀请回答
收藏

1 个回答

  • Memory
    Memory
    1天前

    Q:h5纯签约或公众号纯签约签约完成后点击完成按钮返回的是商户首页,不是发起签约请求的页面

    A:

    1.浏览器发起签约场景:

    问题根因:referer由于客户端webview内核安全策略变更,需要源页面进行授权后,才能获取完整URL,否则无法在签约完成后,原路跳回商户的H5

    解决方案:

    商户跳转前的源H5页面,需要在html中做referrer-policy的授权声明:

    方法一(推荐):

    <meta name="referrer" content="no-referrer-when-downgrade">

    方法二:

    <meta name="referrer" content="unsafe-url">

    安全策略详情可参考:https://developers.google.com/web/updates/2020/07/referrer-policy-new-chrome-default

    Referrer-Policy声明的用法可参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy

    注意:

    ① 商户需要检查一下html里面是否有多个meta name="Referrer"的声明(比如声明了一个<meta name="Referrer" content="origin" />,会覆盖开头的声明,需要删掉)

    ② 检查发起签约页面跳转微信时是否有处理过(比如中转页面或着在后台跳转的),必须是商户前端发起的跳转,否者不会生效

    ③由于iOS15对referrer policy更加严格,referer只带了host没有带path,但iOS14以及之前版本的referer带了host和path,导致了iOS15以上目前只能返回商户域名页面


    2.商户发起签约页面地址中有片段标识符:

    片段标识符(URI Fragment,即URL中#号后面的部分)仅用作浏览器端的处理,不会参与到服务端请求中,故签约完成回跳不会带上这部分信息。


    1天前
    有用 2
    回复
登录 后发表内容