Javascript 如何在Firefox中识别xml属性中的新行?

Javascript 如何在Firefox中识别xml属性中的新行?,javascript,html,xml,ajax,xmlhttprequest,Javascript,Html,Xml,Ajax,Xmlhttprequest,这部分与由来已久的unix与windows newline LF/CRLF困境有关。我不喜欢我的解决方案,但我已经解决了大部分问题。。。(尽管如此,任何与跨浏览器换行有关的一般性指导都是值得赞赏的!)。FF可以从html文本区域发送数据,使换行符与IE(和我的Java客户端)一致地存储在db中。其他客户端可以读取这些FF编写的字符串换行符和全部 我剩下的主要问题是如何在FF中正确检索和显示字符串。如何在xml属性中标识换行符?例如,我有一个xhr返回一组表单字段,通过javascript呈现:

这部分与由来已久的unix与windows newline LF/CRLF困境有关。我不喜欢我的解决方案,但我已经解决了大部分问题。。。(尽管如此,任何与跨浏览器换行有关的一般性指导都是值得赞赏的!)。FF可以从html文本区域发送数据,使换行符与IE(和我的Java客户端)一致地存储在db中。其他客户端可以读取这些FF编写的字符串换行符和全部

我剩下的主要问题是如何在FF中正确检索和显示字符串。如何在xml属性中标识换行符?例如,我有一个xhr返回一组表单字段,通过javascript呈现:

<field name="desc" displayname="Description" value="i
am
in
ff" type="string" length="240"> </field>

(我还没有确认,但我非常确定这些是value属性中的CRLF-与我之前存储的相同…) 此值将渲染到textarea中

但是当我尝试读取FF中的属性时, var value=fieldNode.getAttribute(“值”); 我得到value=“我在ff中”

我知道如果我在服务器上将CRLF转换为\n,FF将工作;但我认为这可能会给我们的其他客户带来问题。我想找到一个客户端和特定于客户端的解决方案

如果我能检测到换行符,我可以替换为
或其他任何内容。我只需要一种方法来检测它们


ps-超过一个月后没有回复。。。为什么只有我有这个问题??我想我得自己想一想:(

以防万一将来有人碰到这个问题。。。 这条线索帮助我走上了正确的道路:


事实证明,CRLF、CR和LF应该以适当的xml CRLF= ; ;)进行编码。我以前没有对这些进行编码。IE可以容忍这种情况,而其他浏览器则不能。例如,Firefox的XML解析器将任何换行符转换为空格。现在我正在对换行符进行编码,一切都很好…

我知道我有点晚了,但是您是否可能已经在标记中添加了属性值? 类似这样的内容:(注意CDATA允许在字段标记内使用“”


am

ff]]>
然后,您可以使用一些javascript来获取nodeValue:
getElementsByTagName("field")[0].childNodes[0].nodeValue;
getElementsByTagName(“字段”)[0]。子节点[0]。节点值;


注意:在XML中,不使用属性,而是使用元素更容易(请参见)

想法、评论和建议?任何人
getElementsByTagName("field")[0].childNodes[0].nodeValue;