Javascript 未捕获的语法错误:JS中出现意外标记

Javascript 未捕获的语法错误:JS中出现意外标记,javascript,token,Javascript,Token,我有这个密码, 我一直在这个问题上犯错误 这段代码不是我自己写的,而是从一个网站上复制的,假设它是从流量源创建参数的 <script type="text/javascript"> if (localStorage.getItem('firstSource') == null) { var firstSource; if ({{Page URL}}.indexOf("gclid") > -1) { firstSource

我有这个密码, 我一直在这个问题上犯错误

这段代码不是我自己写的,而是从一个网站上复制的,假设它是从流量源创建参数的

<script type="text/javascript">
  if (localStorage.getItem('firstSource') == null) 
    {
    var firstSource;
    if ({{Page URL}}.indexOf("gclid") > -1) 
    {
        firstSource = "AdWords"
        console.log('adwords');
    }   
    else
        if ({{utm_source param}} != undefined) 
        {
        firstSource = "{{utm_source param}} / {{utm_medium param}}"
        console.log({{utm_source param}} + "utm");
        }
        else 
            if ( ({{Referrer}}.indexOf('google') > -1) || ({{Referrer}}.indexOf('bing') > -1))
            {
            firstSource = "{{Referrer}}"
            console.log('organic');
            }
            else 
                if ( {{Referrer}} !== ") 
                    {
                    firstSource = {{Referrer}}
                    console.log('referrer');
                    }
                    else
                        if ({{Referrer}} == ") 
                            {
                            firstSource = "direct";
                            console.log('direct');
                            }
    localStorage.setItem('source',firstSource);
    dataLayer.push({'event':'setTheFirstSource','firstSource':firstSource});
}
</script>

请告知

否则块就是问题所在。如果有多行,Else块应位于大括号内。

什么替换模板字段?在询问stackoverflow之前,也许您应该尝试自己调试它。请参阅规则该代码段不能按原样工作;这最初是在用值替换{…}}部分的服务器或前端上运行的。否则块就是问题所在。如果有多行,Else块应该在花括号内。{{Page URL}}不是Javascript。这是一种模板语法,应该在服务器上由实际的http://www.someurl.com 在被发送到浏览器之前,它将被正确运行…但这种情况可能不是这样,但这将超出逻辑。我不明白。在OP的代码中,每个代码块周围都有花括号。有{和}。如果{{referer}}!=={firstSource={{referer}};console.log'referer';}。大括号在这里。我说的是js语法,不是我知道的双大括号字符串插值。我明白了。花括号在这里。如果which{firstSource=which;console.log'referer';}。哦,算了吧。