如何压缩Google Tag Manager

5

谷歌标签管理器(GTM)会对所有标签和片段进行缩小并提供缩小后的版本。这很好。

但是加载标签的javascript本身并没有被压缩。

例如:https://www.googletagmanager.com/gtm.js?id=GTM-WPGCQNW

// Copyright 2012 Google Inc. All rights reserved.
(function(w,g){w[g]=w[g]||{};w[g].e=function(s){return eval(s);};})(window,'google_tag_manager');(function(){

var data = {
"resource": {
  "version":"137",
  "macros":[{
      "function":"__jsm",
      "vtp_javascript":["template","(function(){var a=new Date(document.querySelector('meta[name\\x3d\"article_date_original\"]').content);return a.toISOString()})();"]
...

在这里,您可以看到整个JavaScript并未被缩小,但是每行的内容都被缩小了。 我的问题是,是否有办法链接到缩小版本?谷歌是否也提供此服务?
1个回答

5
谷歌并不提供这个功能。
由于GTM文件不需要后端通信(它是纯Javascript),你可以将其下载到你的服务器上,在那里进行缩小处理,并在你的网站中链接生成的文件(通过“下载”,我的意思是像代理那样动态地或按照规定的时间间隔下载和缩小,以便始终接收到最新版本的GTM文件)。
当然,进一步的缩小处理可能会使文件出现问题。另外,由于文件被压缩成gzip格式交付给浏览器,而许多空格可以很好地压缩,进一步的缩小处理很可能没有太大的效果(你需要看到你自己的服务器在将文件交付给你的网站之前重新压缩该文件,否则你只会使情况更糟)。
我认为这实际上并不是一个值得做的事情,但基本上这是超越谷歌为你提供的缩小处理的唯一方法。

将代码下载到我的服务器并在那里进行缩小处理会违背GTM的初衷,因为GTM的全部意义在于只需在其门户中更改标签即可对网站产生(直接)影响。 - nl-x
那又怎样?您的服务器可以动态下载和缩小,或在规定的时间间隔内进行。如果这让您更容易理解,可以考虑"代理"。 - Eike Pierstorff
(我认为这不是一个好主意,只是基本上进一步的缩小可能性) - Eike Pierstorff

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