mishe / blog

前端碰上的问题或体会
230 stars 39 forks source link

iframe方式获取访问用户的微信openid的问题 #144

Open mishe opened 8 years ago

mishe commented 8 years ago

微站业务需要获取访客的openid,当用户注册或者登录时,记录用户的openid,本来想只要在用户登录注册页面时,用一个iframe去调用就可以了,采用不弹出授权页的方式,页面继续显示注册和登录,这样体验会好很多,但是很可惜,openid是取到了,但页面也跟着跳转到了其他的页面,iframe的地址变更竟然会覆盖当前页面!!我已经把iframe设置为隐藏,高0,宽0,position:absolute;top:-9999px;left:-9999px也一样不行。

而且redirectUrl地址不能包含#号和%23,导致spa返回页面不能传递正确的页面地址;只能通过服务端中转的方式返回正确的页面。

yangjdb commented 7 years ago

请问下是怎么获取到openid的,我用iframe重定向到微信授权链接返回是报错的,提示“请使用微信客户端打开链接”

mishe commented 7 years ago

这个错误很明显啊,必须在微信或微信web开发者工具中打开

yangjdb commented 7 years ago

所以说用iframe拿不到openid么?

ghost commented 7 years ago

请问解决了吗? 我也遇到这个问题了

mishe commented 7 years ago

可以拿到openid,但无法保留当前页面,所以最终还是没有采用iframe的方式

ghost commented 7 years ago

请问有其他好的办法拿到openId吗?

woncc commented 6 years ago

同请教,如何iframe获取微信授权重定向,谢谢。