小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题,在以页面嵌入的方式接入微信扫码登录,重定向操作被Chrome浏览器默认阻止
Chrome 68 默认开启安全策略,禁止iframe中非用户触发的重定向操作 top.location.href 所以只能使用新页面打开 微信域,授权后再跳转回接入网站的形式。或者用户在浏览器选择信任网站操作的形式,对小白用户来说,不一定会操作。 官方有没有其他的实现方式,解决页面嵌入接入形式的跳转问题???
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
顶起来,期望微信的同学能尽快解决这个问题!
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
初步找到一种方案,可以尝试设置 self_redirect 为true(详见文档),这样授权登录页就不会用top.location重定向了,而是重定向当前iframe。然后在重定向后的页面(中转页)调用 top.location.callParentPageMethod ,不过需要在该页面以及父级页面设置document.domain为同域,比如document.domain = 'foo.com',而父级的方法 callParentPageMethod 则可以执行window.location.reload()或者其他登录完成的逻辑。
在中转页用postMessage通知父级页面,应该会更优雅些
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
顶起来,期望微信的同学能尽快解决这个问题!
初步找到一种方案,可以尝试设置 self_redirect 为true(详见文档),这样授权登录页就不会用top.location重定向了,而是重定向当前iframe。然后在重定向后的页面(中转页)调用 top.location.callParentPageMethod ,不过需要在该页面以及父级页面设置document.domain为同域,比如document.domain = 'foo.com',而父级的方法 callParentPageMethod 则可以执行window.location.reload()或者其他登录完成的逻辑。
在中转页用postMessage通知父级页面,应该会更优雅些