剪切和粘贴源代码时,JavaScript中导致解析错误的原因是什么?

时间:2011-08-08 11:32:42

标签: javascript text-editor textwrangler cut-and-paste

我将浏览器中的this SO code snippet剪切并粘贴到我的编辑器(TextWrangler)中。当我加载页面时,它给了我一个语法/解析错误(Safari)。

在盯着它大约10分钟后,我手动重新输入完​​全相同的代码,并按预期执行,没有任何解析错误。

好奇,如果其他人得到相同的结果,我假设必须有一些隐藏的字符搞乱JavaScript语法..?有谁知道这些可能是哪些字符(返回?制表符?)以及如何处理这个问题 - 它只是一个编辑器问题吗?通常我将浏览器窗口中的代码剪切并粘贴到我的代码编辑器中没有问题。

几个月后,这仍然是一个悬而未决的问题。

类似的事情再次发生,将一些CSS剪切并粘贴到Vim中:

.quiz-button-go:hover{
    color:#ddffff;
    background:#28e07e;
}

颜色属性不起作用(在浏览器中会被忽略),但后台可以正常工作。但是,如果我删除颜色和换行符之前的空格,那么颜色属性就可以了!

我发现在Vim中你可以使用:set list 来显示所有隐藏的字符。这就是我得到的:

44 .quiz-button-go:hover{$
45    $
46 ^Icolor:#ddffff;$
47 ^Ibackground:#28e07e;$                                                                                              
48 }$

没什么不寻常的,对吧?

此外,如果我尝试 cat -vt filename ,我会得到这个:

.quiz-button-go:hover{
^Icolor:#ddffff;
^Ibackground:#28e07e;
}

同样,如果我只是删除“color”之前的空白区域,那么CSS工作正常。

关于如何查看隐藏字符的任何其他想法将不胜感激...

1 个答案:

答案 0 :(得分:0)

不完全确定,但可能在您复制和粘贴的代码中隐藏了无法识别的符号。它导致了错误。