这个Javascript中的语法错误在哪里

时间:2013-10-21 19:10:09

标签: javascript syntax-error

以下是代码:

    var disqus_title="UnicodeDecodeError - ordinal not in range(128)";
    var disqus_identifier="cache\yazilar\python\unicode-decode-error-ordinal-not-in-range.html";
    var disqus_config = function () {
        this.language = "tr";
    };

Chrome的调试工具表明disqus_identifier行中存在语法错误,但我找不到它。我在所有页面中使用相同的代码,只有这一个给出了错误。

4 个答案:

答案 0 :(得分:2)

您需要将字符串常量中的反斜杠加倍。

var disqus_identifier="cache\\yazilar\\python\\unicode-decode-error-ordinal-not-in-range.html";

确保您确实需要那些反斜杠而不是正斜杠字符可能是个好主意。如果您将路径传递回服务器并且您的服务器将盲目地使用它,那么这可能是一个相当令人讨厌的安全问题。

答案 1 :(得分:2)

反斜杠\是javascript中的转义字符。如果你想在字符串中使用反斜杠,则必须使用另一个反斜杠转义它。

var disqus_identifier="cache\\yazilar\\python\\unicode-decode-error-ordinal-not-in-range.html";

答案 2 :(得分:1)

\u表示unicode转义。必须跟着4个十六进制字符。

您可能应该用\替换\\个字符(用于表示\的转义序列作为数据)或(因为您看起来像是相对URI)使用{ {1}}而不是。

答案 3 :(得分:0)

var disqus_identifier =“cache \ yazilar \ python \ unicode-decode-error-ordinal-not-in-range.html”;

单反斜杠会混淆脚本编译器。