1

以下是在 Firefox 和 Chrome 中导致错误的整个文档:

<!DOCTYPE html>
<html>
<head>
    <script>
        var strs = [], scripts = ['harbl.js'], s = 0;
        strs.push('<script src="' + scripts[s] + '"></script>');
    </script>
</head>
<body>
    <p>buh...</p>
</body>
</html>

http://jsfiddle.net/cryptoquick/J4zZT/

我得到的错误是:

Uncaught SyntaxError: Unexpected token ILLEGAL 

这让我真的很困惑。

4

3 回答 3

9

</script>文字由浏览器解析,因为它在遍历代码时不知道上下文。你必须像这样逃避它:<\/script>。这是一个已知问题。

于 2012-10-01T18:39:24.020 回答
3

将其更改为:

strs.push('<script src="' + scripts[s] + '"></s' + 'cript>');
于 2012-10-01T18:40:55.277 回答
-1

前斜线'/'被视为特殊字符。这是错误的原因。

strs.push('<script src="' + scripts[s] + '"><\/script>');

请阅读这篇文章以获取更多信息 JavaScript 和字符串中的正斜杠

于 2012-10-01T19:00:54.447 回答