gpt4 book ai didi

javascript - Windows 中 Firefox 的行结束行为不一致

转载 作者:可可西里 更新时间:2023-11-01 14:37:19 26 4
gpt4 key购买 nike

我们遇到了一个非常奇怪的问题,当我们发帖时,行尾是 \r\n,但是当我们使用 javascript 提取值时,它只是 \n 。这会导致问题,因为对于我们的系统来说,创建将执行正常的表单发布,而更新将从表单中提取值以构建 ajax 请求。稍后,我们在给定字段上进行字符串比较,并看到 \r 存在或不存在之间的这种奇怪混合。

IE 处理得很好(总是 \r\n),Windows 上的 FF 将使用 \r\n 提交,而在 javascript 中只会报告 \n.真正奇怪的是,在 Linux 上,firefox 和 chrome 都将使用 \r\n 发布,并执行 document.getElementById('text-area-id').value 将始终只显示 \n

这是 HTTP 规范的某个尘土飞扬的 Angular 落还是类似的东西?浏览器是否实现了这一点,以便 Windows 服务器不会死机?有什么办法解决它,然后对每个字段进行 sanitizer ?我希望 JS 和 HTTP POST 的行为方式相同,并在它们碰巧所在的任何系统上使用系统默认值。

最佳答案

\r 显然是 DOM 中的非法字符,这就是为什么您不会从脚本中看到它的原因。当您设置文本区域的值时,Firefox 会将平台换行符转换为 \n。另一方面,当提交表单时认为它需要使用 HTTP 换行符标准,这显然是 \r\n。因此它会在发送表单之前将它们全部转换。

关于javascript - Windows 中 Firefox 的行结束行为不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4798887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com