【问题标题】:Javascript replace giving Uncaught SyntaxError: Invalid or unexpected tokenJavascript 替换给出 Uncaught SyntaxError: Invalid or unexpected token
【发布时间】:2017-06-22 04:14:29
【问题描述】:

我必须将字符串中的 替换为空白。 下面是一段代码:

var html = '<script src="http://example.com/stopsscript.js"></script>';

var charEscape = function(_html) {
var newHTML = _html;
console.log(newHTML+"       1");
newHTML = _html.replace(/[<>]/g, '');
return newHTML;
};

console.log(charEscape(html));

当我运行它时,我得到 未捕获的 SyntaxError:无效或意外令牌 在第一行,即

var html = '<script src="http://example.com/stopsscript.js"></script>';

谁能告诉我我做错了什么?在此先感谢:)

【问题讨论】:

    标签: javascript regex replace uncaught-exception


    【解决方案1】:

    您需要通过添加反斜杠在脚本标记的封闭处转义正斜杠“/”字符。

    var html = '<script src="http://example.com/stopsscript.js"><\/script>';
    
    console.log(html)

    我们需要这样做的原因解释here。

    【讨论】:

    • 我无法修改 var html,如果我要替换 它不应该变成一个字符串吗?
    • @AtreyeeRoy 事情是,一旦您尝试分配 html,js 运行时就会抛出错误。这是因为浏览器看到结束脚本标记并查看它,使其成为脚本的结尾。所以它之后的任何代码都不会在脚本标签内,从而触发错误。您是否有机会从网络抓取中获得此信息?
    • 好的..明白了。谢谢?
    猜你喜欢
    • 1970-01-01
    • 2018-02-17
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多