阻止了来源为 "https://googleads.g.doubleclick.net" 的框架访问框架
Blocked a frame with origin "https://googleads.g.doubleclick.net" from accessing a frame
我在我的网页上投放了广告并且它们显示正常,但我在加载页面时在控制台中收到此错误消息:
Blocked a frame with origin "https://googleads.g.doubleclick.net" from accessing a frame with origin "http://fakemail.site". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
通过四处搜索,我发现这是因为 AdSense 有 SSL 而我的网站没有,而且实际上没有任何方法可以解决这个问题 - 但我确信有。任何帮助,将不胜感激。谢谢!
这是由于 javascript same-origin 政策(它是一项安全政策)。您需要添加 CORS headers 以启用跨源请求,具体操作方式取决于您使用的服务器。
您可能还需要将对 google-ads 的调用更改为 http 而不是 https(如果 google 允许)或者更好的是,省略这样的协议 //googleads.g.doubleclick.net
使其默认匹配当前页面的协议。
这些错误通常可以安全忽略(google 的 youtube API 也抛出同源错误并正常运行)但是我不熟悉 double-click广告一。
这里有一些关于 CORS 和 Same-origin 政策的更多信息的重要参考
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
PS。确保在测试时禁用所有扩展程序,尤其是广告拦截器 - 只需注意它,因为这是一个常见错误。
我在我的网页上投放了广告并且它们显示正常,但我在加载页面时在控制台中收到此错误消息:
Blocked a frame with origin "https://googleads.g.doubleclick.net" from accessing a frame with origin "http://fakemail.site". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
通过四处搜索,我发现这是因为 AdSense 有 SSL 而我的网站没有,而且实际上没有任何方法可以解决这个问题 - 但我确信有。任何帮助,将不胜感激。谢谢!
这是由于 javascript same-origin 政策(它是一项安全政策)。您需要添加 CORS headers 以启用跨源请求,具体操作方式取决于您使用的服务器。
您可能还需要将对 google-ads 的调用更改为 http 而不是 https(如果 google 允许)或者更好的是,省略这样的协议 //googleads.g.doubleclick.net
使其默认匹配当前页面的协议。
这些错误通常可以安全忽略(google 的 youtube API 也抛出同源错误并正常运行)但是我不熟悉 double-click广告一。
这里有一些关于 CORS 和 Same-origin 政策的更多信息的重要参考 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
PS。确保在测试时禁用所有扩展程序,尤其是广告拦截器 - 只需注意它,因为这是一个常见错误。