如何解决GTM中JavaScript编译器错误的这个RegExp问题?

如何解决GTM中JavaScript编译器错误的这个RegExp问题?,javascript,google-tag-manager,Javascript,Google Tag Manager,当我试图发布新的GTM版本时,我得到了一些我没有编辑过的变量的错误(它们过去是有效的,现在它们显示了错误) 错误消息:第4行JavaScript编译器错误,字符18: 无法将ECMASCRIPT_2018功能“RegExp lookback”转换为目标 输出语言 代码: function(){ var myRegexp=/(?lookback是一个非常新的功能-只有一些浏览器支持它,而且它不能被完全传输(据我所知),因此出现了错误。使用标准匹配而不是lookback,在cat/之后为零件创建一

当我试图发布新的GTM版本时,我得到了一些我没有编辑过的变量的错误(它们过去是有效的,现在它们显示了错误)

错误消息:第4行JavaScript编译器错误,字符18: 无法将ECMASCRIPT_2018功能“RegExp lookback”转换为目标 输出语言

代码:

function(){

var myRegexp=/(?lookback是一个非常新的功能-只有一些浏览器支持它,而且它不能被完全传输(据我所知),因此出现了错误。使用标准匹配而不是lookback,在
cat/
之后为零件创建一个捕获组,并返回第一个捕获组:

var pattern = /\/.*\/cat\/([^/]+)/;
var match = document.URL.match(pattern);
return match
? match[1]
: null;

这段代码中显示了这样一条消息:@FilipKapusta那里的代码最近发生了变化:Lookback以前可能在现代浏览器上工作过,但我敢打赌它在旧浏览器(如IE)中引发了错误。现在,它不是在IE上引发错误,而是在构建过程中引发错误,以提示您尽早修复:)非常感谢您在理解和解决此问题方面提供的帮助!您必须在某个地方使用JavaScript transpiler。这是什么?@yunzen,因为这是一篇GTM文章,所以他在谈论Google Closure Compiler,GTM在准备包含所有标记等的JS文件时“幕后”使用了Google Closure Compiler。