很多朋友在做微信公众号签约时,会遇到一个问题,签约完成后,点击返回会返回到域名根路径,无法返回到签约开始时的页面。但是如果将签约页面命名为index.html,并将这个页面放在nginx的html文件夹下,就没有问题,这是为什么呢?
问题根因: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-defaultReferrer-Policy
声明的用法可参考:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy