2015-12-02 113 views
2

,所以我有這樣的代碼:JavaScript語法錯誤預期的表現,得到了「<」

; 
(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中的控制檯運行它,它就會抱怨

「語法錯誤:預期的表現,得到了「<」」

但是,當你嘗試一下在http://esprima.org/demo/validate.html,它工作得很好......

這是什麼做的不對?

+0

我只是運行在谷歌瀏覽器的控制檯和Firefox控制檯,它的工作原理。 – caballerog

+0

在Firefox中,它明顯不同的 –

+0

Chrome靜靜地忽略它,但在Firefox上,它仍然會使網絡請求成爲@frontend_dev所提到的 – enjoylife

回答

3

我覺得這條線是有問題的:

"src": '', 

所以,你在本質上有一個空白SRC。錯誤本身表明你得到了一些HTML的迴應,在這種情況下,顯然瀏覽器只是試圖加載你當前所在的頁面(觀看網絡面板)。但是嘗試在你的src中使用更有意義的東西,或者如果你只是想創建一個腳本標籤,就完全不用它了。

+4

啊,並認真地*解釋*當你downvote。我討厭這個,如果那樣繼續下去,我會停止嘗試幫助。 –