javascript语法错误,应为表达式,得到'<'

javascript syntax error expected expression, got '<'

本文关键字:lt 得到 语法 错误 javascript 表达式      更新时间:2023-09-26

所以我有这个代码:

;
(function (g) {
  var d = document, i, am = d.createElement('script'), h = d.head || d.getElementsByTagName("head")[0], aex = {
    "src": '',
    "type": "text/javascript",
    "async": "true",
    "data-vendor": "acs",
    "data-role": "gateway"
  };
  for (var attr in aex) {
    am.setAttribute(attr, aex[attr]);
  }
  h.appendChild(am);
  g['acsReady'] = function () {
    var aT = '__acsReady__', args = Array.prototype.slice.call(arguments, 0), k = setInterval(function () {
      if (typeof g[aT] === 'function') {
        clearInterval(k);
        for (i = 0; i < args.length; i++) {
          g[aT].call(g, function (fn) {
            return function () {
              setTimeout(fn, 1)
            };
          }(args[i]));
        }
      }
    }, 50);
  };
})(window);

当你在Firefox的控制台上运行它时,它会抱怨

"SyntaxError:需要表达式,得到了"<"

然而,当你在http://esprima.org/demo/validate.html,它工作得很好。。。

它做错了什么?

我认为这一行有问题:

"src": '',

所以你实际上有一个空白的src。错误本身表明您得到了一些HTML响应,在这种情况下,浏览器显然只是试图加载您当前所在的页面(查看网络面板)。但是试着在src中使用更有意义的东西,或者如果你只想创建一个脚本标记,就完全忽略它。