Chrome浏览器报错:仅允许"https://apis.google.com"的框架访问。

7
我已经遵循了谷歌+ API的指南在我的网页应用中放置了一个登录按钮。它可以在Firefox中使用,但在Chrome中不能:我会遇到同源错误:Blocked a frame with origin "https://apis.google.com" from accessing a frame with origin "https://mysite.com". 我已经在https://console.developers.google.com中声明https://mysite.com作为“javascript”来源。
我不明白,这是他们的浏览器,他们的API在它上面不起作用...... 你能帮我解决Chrome上的跨域问题吗?

我也遇到了同样的错误,你找到解决方法了吗? - marty331
@marty331 不是我做的!也许我们最终会有人来帮忙! - Louis
2个回答

1
(这更像是一条评论而不是完整的答案,但我没有足够的声望来进行评论。)
我按照他们的Python示例应用程序说明遇到了同样的问题,也是:https://developers.google.com/+/quickstart/python 我运行了几个可以修改页面内容的Chrome扩展程序:JSONView和StayFocusd。在禁用这些扩展并重试后,它对我有用。现在,即使重新启用扩展,我也无法再次复制该问题。
似乎值得一试?

0

我通过禁用任何安装在浏览器上的插件来解决问题,这些插件读取和更改呈现的 HTML 页面,并且可以重写页面标题并注入某种 JavaScript。

其中一个插件(即导致我的 Blocked a frame with origin "https://apis.google.com" from accessing a frame with origin "https://example.com 错误的插件)是 Ripple Emulator (Beta) 0.9.15,这是一个基于浏览器的 HTML5 移动应用程序开发和测试工具,它在扩展权限详细信息中声明可以“读取和更改您访问的所有网站的数据”。

我禁用的另一个插件是 ModHeader 1.2.4 Modify the Request Headers,这个插件也可以“读取和更改您访问的所有网站的数据”。

只需查看您的 Chrome 扩展程序并删除您怀疑可能会修改页面的任何插件即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接