在开始之前,我应该提到Google不推荐我了解Hosting the Google JavaScript file locally。但是由于这些文件的缓存时间太短,所以我想在本地使用更多的缓存时间。更改真实文件后,我还会自动获取最新版本。
我正试图每天通过cron来获取ga.js文件,并将其托管在本地:
$ana = file_get_contents('https://www.google-analytics.com/analytics.js');
if ($ana!==false){
file_put_contents('ANA_LOCAL_PATH',$ana);
$tag = file_get_contents('https://www.googletagmanager.com/gtag/js');
if ($tag!==false){
$tag = str_replace('https://www.google-analytics.com/analytics.js','ANA_LOCAL_URL',$tag);
file_put_contents('GTAG_LOCAL_PATH',$tag);
}
}
我还将获得analytics.js
文件,并用本地analytics.js
文件替换Google URL。
但是我希望它能成为未来的证明。 Google使用以下URL:
https://www.googletagmanager.com/gtag/js?id=UA-xxxxxxxxx-x
我正在使用这个
https://www.googletagmanager.com/gtag/js
我有超过10个标签管理器ID,并且一次只获得JavaScript文件而没有ID。
另一件事是Google头文件以此开头:
// Copyright 2012 Google Inc. All rights reserved.
(function(){
var data = {
"resource": {
"version":"1",
"macros":[],
"tags":[],
"predicates":[],
"rules":[]
},
"runtime":[
[],[]
]
case "url_no_fragment"
在大小写后面有空格。它可以是case"url_no_fragment"
。您可以在文件中找到很多switch case
,带有空格。问题