当尝试发布新的GTM版本时,我会得到一些我没有编辑过的变量错误(它们过去是工作的,现在它们显示了错误)。
错误消息:JavaScript错误在第4行,字符18:无法将ECMASCRIPT_2018特性"RegExp查找背后“转换为目标输出语言。
代码:
function(){
var myRegexp = /(?<=(\/.*\/cat\/)).*?(?=\/)/g; //regex rule
var result = document.URL.match(myRegexp);
if(result !== null){
return result[0];
}else{
return null;
}
}
发布于 2019-02-27 10:41:59
Lookbehind是一个非常新的特性--只有一些浏览器支持它,而且它不能被完全转换(据我所见),因此出现了错误。使用标准匹配,而不是查找,在cat/之后使用一个捕获组,然后返回第一个捕获组:
var pattern = /\/.*\/cat\/([^/]+)/;
var match = document.URL.match(pattern);
return match
? match[1]
: null;https://stackoverflow.com/questions/54903512
复制相似问题