做第三方微信平台的时候做授权页面,用window.open方法从第三方平台页面打开新的授权标签页。
在IE浏览器上出问题,提示如下:
在chrome和firefox浏览器上正常。
搜了一下,发现微信是通过授权页面请求的referrer头部来判断请求的域名的。
目前的IE浏览器(<=11)似乎对于open方法打开的标签页不附带referrer头部,所以获取的授权入口页域名为空。
解决办法:
- 不使用window.open,直接在本标签页打开(window.location.href),授权结束之后再跳回。
- 对于非要打开新的标签页这种需求,使用a标签。条件:必须通过用户操作触发点击事件,代码触发无效。