我正在使用 jWYSIWYG jquery 插件将控件添加到应用程序中的文本区域。
我发现 IE 中的相同代码将换行符转换为<P>
标签,但<BR>
在其他浏览器中(到目前为止,Firefox、Chrome)。理想情况下,我希望它们都成为<BR>
,或者除此之外,让它们都成为<P>
。我至少希望它是一致的。
有解决办法吗?我看到有一个配置设置:
brIE
一个布尔值。如果true
, a<br/>
将在 IE 中插入换行符。
不幸的是,设置时它似乎没有做任何事情。
这里问题的根源是基于浏览器的所见即所得编辑器使用浏览器进行编辑。
WYSIWYG 编辑器的基本组件只是一个设置了标志的标准元素(例如 a <div>
) 。contentEditable
而已。浏览器控制实际进行编辑;javascript代码无法控制这一点,浏览器可以。不同的浏览器实现它的方式也不同。
这就是为什么您从不同的浏览器获得不同结果的原因。在编辑器中,您实际上无能为力。您甚至会发现,如果您将在浏览器中创建的内容加载到不同的浏览器中,它将被重新格式化为新浏览器想要的格式,而您通常甚至不需要进行任何实际编辑。
所有基于浏览器的所见即所得编辑器都会发生这种情况。其中一些可能会尝试使浏览器差异正常化,但如您所见,成功有限。并且用户确实有一些控制权;shift例如,浏览器对+的反应通常return与仅对return换行符的反应不同。但这把它留给了用户,他们可能不知道这样做的必要性(毕竟,您使用所见即所得的编辑器使用户的事情变得更容易,而不是更复杂)。
因此,总的来说,您真正希望的最好结果是在服务器端代码中对其进行编辑后对其进行规范化。