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