奇怪的不是错误本身,而是它发生的方式。在我的内容编辑器中编辑时,所有内容都会在javascript对象中以唯一ID保存,并且在最后保存后会得到json字符串。这项工作对99,99%的用户来说是完美的,但有时json.stringify并没有逃脱报价,而且总是以相同的开头发生。我真的不知道这是怎么发生的。这是javascript对象的图片:
http://cl.ly/image/3B3Z2e413M3r
当然,标记的行是错误,但是如果内容以此行开头,则整个事件(没有转义引号)仅发生。我应该提一下,如果你在编辑器中加载了一个wysiwyg元素,那么就有一个预装备的< h3> ...< / h3>和< p> ...< / p>有一些样本数据。 (默认情况下,h3不居中)
<h3 style="text-align: center;">Sample Headline</h3>
我的问题是我无法重现它。如果我调整我的标题以获得相同的代码,一切都很好。用户获得了最后一个chrome版本,然后没有其他插件,然后jQuery。
任何想法都会很棒,因为我筋疲力尽......
Cliffnotes:
非常感谢。 :)
答案 0 :(得分:0)
你所展示的是普通的JS对象,而不是JSON(因此它与JSON.stringify()
无关)。引号必须仅在代码中的字符串文字中进行转义,以便解释器不会将其与分隔引号混淆。
解析后 - 它们按原样存储在内存中,没有任何转义字符。
指南:打开开发人员工具,按Run
并查看Scope variables
结论:您在屏幕截图中提供的内容是100%预期和正确的行为。