Spring mvc 谷歌标签管理器403';s每个请求,即使定义了CORS映射
当我转到AMP时,Google标签管理器停止工作。 每次打开AMPed页面时,我都会在浏览器控制台中看到一些错误,例如 第一个错误:Spring mvc 谷歌标签管理器403';s每个请求,即使定义了CORS映射,spring-mvc,spring-security,cors,google-tag-manager,amp-html,Spring Mvc,Spring Security,Cors,Google Tag Manager,Amp Html,当我转到AMP时,Google标签管理器停止工作。 每次打开AMPed页面时,我都会在浏览器控制台中看到一些错误,例如 第一个错误: https://www.googletagmanager.com/amp.json?id=MY_GTM_TAG>m.url=MY_HTTP_URL (403) 第二个错误: https://www.googletagmanager.com/amp.json?id=MY_GTM_TAG>m.url=MY_HTTP_URL 请求的资源上不存
https://www.googletagmanager.com/amp.json?id=MY_GTM_TAG>m.url=MY_HTTP_URL
(403)
第二个错误:
https://www.googletagmanager.com/amp.json?id=MY_GTM_TAG>m.url=MY_HTTP_URL
请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为403。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源
在扩展WebMVCConfigureAdapter
的类中,我覆盖了方法addCorsMappings
,如下所示:
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedHeaders("*")
.allowCredentials(true);
};
但它仍然不起作用(这个方法是在启动时执行的,我检查了它)。你有什么想法/建议吗?为什么
编辑1(2016年12月22日):
Q:如何加载标签管理器?您使用的是AMP版本的脚本吗?(@Jim Jeffries)
A:是的,在
中,我包含了以下代码:
在
中有:
<amp-analytics config="https://www.googletagmanager.com/amp.json?id=${googleTagId}>m.url=SOURCE_URL" data-credentials="include"></amp-analytics>
基于此,您可能正在对一个不同于页面所在域的域进行访问。因此,浏览器正在阻止它,因为出于安全原因,它通常允许同一来源的请求。当您想要执行跨域请求时,您需要执行一些不同的操作。关于如何实现这一点的教程是
*当您使用邮递员时,他们不受本政策的限制。引自:*
常规网页可以使用XMLHttpRequest对象从远程服务器发送和接收数据,但它们受到同源策略的限制。扩展没有那么有限。扩展可以与其源站之外的远程服务器进行通信,只要它首先请求跨源站权限
同样基于此,应用程序必须作为完全管理员进行身份验证,并将所需的CORS配置发布到
/rest/system/config
我也遇到了同样的问题,结果是您不能使用旧的GTM“Web”容器进行此操作,因此您必须创建特定的AMP容器
根据谷歌的指示,我们发现:
创建放大器容器
标记管理器具有AMP容器类型。为项目创建新的AMP容器:
如何加载标签管理器?您使用的是AMP版本的脚本吗
你能在你的问题中包括这个吗?@JimJeffries我包括了你要求的信息。