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

发布于 2024-11-28 13:46:29 字数 1170 浏览 4 评论 0原文

我将 这个 SO 代码片段从浏览器剪切并粘贴到我的编辑器(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 就可以完美工作。

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

I cut and pasted this SO code snippet from my browser into my editor (TextWrangler). When I loaded the page it gave me a Syntax/Parse error (Safari).

After staring at it for about 10 minutes, I retyped the exact same code manually, and it executed as expected without any parse errors.

Curious if anyone else gets the same result, and I'm assuming there must be some hidden characters that are messing up the JavaScript syntax..? Does anyone know which characters these would likely be (returns? tabs?) and how do you deal with this - is it just an editor problem? Usually I have no problems with cutting and pasting code from my browser window into my code editor..

Months later and this is still an open issue.

Similar thing happened again, cut and pasted some CSS into Vim:

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

the color attribute will not work (it is ignored in the browser), but the background DOES work. However if I delete the spaces before color and the newline, then the color attribute works!

I found that in Vim you can use :set list to display all hidden characters. This is what I get:

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

Nothing out of the ordinary, right?

furthermore, if I try cat -vt filename, I get this:

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

Again, if I simply delete the empty space before "color", the CSS works perfectly.

Any other ideas on how to view hidden chars would be appreciated...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陪你到最终 2024-12-05 13:46:29

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

Not completely sure, but probably there were hidden unrecognized symbols in the code you copied and pasted. And it caused the error.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文