当我进行扫描二维码登陆时,出现Unsafe attempt to initiate navigation for frame with origin http://localhost:3000 from frame with URL https://open.weixin.qq.com/connect/qrconnect?appid=wx67cfaf9e3ad31a0d\\\\&scope=snsapi_login\\\报错
原因是:浏览器监测到了iframe中存在不安全的链接正在尝试进行导航,需要设置iframe的sandbox属性
解决方法:
<script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<script>
!function (a, b, c) {
function d (a) {
var c = "default"
a.self_redirect === !0 ? c = "true" : a.self_redirect === !1 && (c = "false")
var d = b.createElement("iframe"),
e = "https://open.weixin.qq.com/connect/qrconnect?appid=" + a.appid + "&scope=" + a.scope + "&redirect_uri=" + a.redirect_uri + "&state=" + a.state + "&login_type=jssdk&self_redirect=" + c + '&styletype=' + (a.styletype || '') + '&sizetype=' + (a.sizetype || '') + '&bgcolor=' + (a.bgcolor || '') + '&rst=' + (a.rst || '')
e += a.style ? "&style=" + a.style : "",
e += a.href ? "&href=" + a.href : "",
d.src = e,
d.frameBorder = "0",
d.allowTransparency = "true",
d.sandbox = "allow-scripts allow-top-navigation allow-same-origin", //重点
d.scrolling = "no",
d.width = "300px",
d.height = "400px"
var f = b.getElementById(a.id)
f.innerHTML = "",
f.appendChild(d)
}
a.WxLogin = d
}(window, document);
</script>