我有一个域,让我们称之为 myhost.com,我有一个脚本addGAcode.js myhost.com。该代码包含函数 includeGA(),该函数为我的客户端域设置的帐户调用标准 GA 代码。它看起来像这样:
function includeGA() {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-432432432-43']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
}
includeGA();
让我们将此域称为 groceryinbelfast.com。
现在我添加到杂货的元贝尔法斯特脚本标签以包含 myhost.com/addGAcode.js。不幸的是,GA 不起作用。GA 代码已正确加载,但我想因为它位于其他域上,该域 groceryofbelfast 它无法在杂货店贝尔法斯特域上设置统计数据工作所必需的 cookie。
我的概念的要点是在我的服务器上安装GA脚本,这样当Google更改其中的某些内容或我想对其进行一些调整时,我不需要每次都调用客户的网站管理员进行适当的更改。
有什么想法吗?
您的includeGA()
函数可能无法工作,因为_gaq
需要声明为全局变量,而不是includeGA()
函数中的局部变量。
您可以通过更改为以下内容来解决该特定问题:
function includeGA() {
window._gaq = window._gaq || [];
_gaq.push(['_setAccount', 'UA-432432432-43']);
_gaq.push(['_trackPageview']);
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}