gpt4 book ai didi

javascript - FB.login() 在 Android Chrome 上失败并显示 "Unsafe JavaScript attempt to initiate navigation for frame"但不是桌面 Chrome

转载 作者:数据小太阳 更新时间:2023-10-29 04:19:03 32 4
gpt4 key购买 nike

我这里有一个 Facebook JS SDK 登录流程:https://web.triller.co/#/user/login

当用户点击 Facebook 按钮时,将执行以下功能:

loginFacebook()
{
const fbPromise = new Promise((resolve, reject) => {
FB.login(resp => {
if (resp.authResponse)
{
resolve(resp.authResponse.accessToken);
}
else
{
console.log(resp);
reject(new Error('Facebook login canceled or failed.'));
}
});
});

return fbPromise
.then(accessToken => api.postJson('user/login_facebook', { accessToken }))
.then(this._handleLogin.bind(this));
}

基本上,它会调用 FB.login(),并期望收到有效的 resp.authResponse。不幸的是,即使在 Facebook 弹出窗口/标签上成功验证后,它也没有。相反,我们从浏览器收到 { authResponse: undefined, status: undefined } 和以下错误:

Unsafe JavaScript attempt to initiate navigation for frame with URL 'https://m.facebook.com/v2.8/dialog/oauth?foo=bar' from frame with URL 'https://web.triller.co/#/user/login?_k=cmzdb6'. The frame attempting navigation is neither same-origin with the target, nor is it the target's parent or opener.

在 Facebook 弹出窗口/选项卡中进行身份验证后立即发生错误,并且仅在 Android Chrome 上发生。桌面版 Chrome(在 Mac 上)不会显示相同的错误。 iOS 上的 Safari 也不显示错误。

对发生的事情有什么想法吗?为什么 Android Chrome 和桌面版 Chrome 有区别?它可能与 URL 中的哈希值有关吗?

最佳答案

在台式机中,此问题可能是由 XFINITY Constant Guard Protection Suite Chrome 扩展引起的。禁用它,问题将得到解决。

在 Android 中,尝试删除 XFINITY 或类似的安全扩展程序或应用程序(诺顿安全防病毒软件)。

https://developer.salesforce.com/forums/?id=906F00000008qKnIAI

关于javascript - FB.login() 在 Android Chrome 上失败并显示 "Unsafe JavaScript attempt to initiate navigation for frame"但不是桌面 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43024905/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com