jWYSIWYG在IE9中将换行符转换为<p>,但在其他浏览器中转换为<br/> </p>

时间:2013-03-20 19:56:50

标签: jquery wysiwyg jwysiwyg

我正在使用jWYSIWYG jquery插件将控件添加到应用程序中的textareas。

我发现IE中的相同代码会将换行符转换为<P>标记,但在其他浏览器中使用<BR>(Firefox,Chrome,到目前为止)。理想情况下,我希望他们都是<BR>,或者禁止它们全部<P>。我至少希望它是一致的。

有解决方法吗?我看到有一个配置设置:

brIE     布尔值。如果true,则会在IE中为换行符插入<br/>

不幸的是,设置时它似乎没有做任何事情。

1 个答案:

答案 0 :(得分:1)

问题的根源在于基于浏览器的WYSIWYG编辑器使用浏览器进行编辑。

WYSIWYG编辑器的基本组件只是设置了<div>标志的标准元素(例如contentEditable)。而已。浏览器控制实际进行编辑;浏览器是javascript代码无法控制的。不同的浏览器以不同的方式实现它。

这就是您从不同浏览器获得不同结果的原因。在编辑器中,你可以做很多事情。您甚至会发现,如果您将在浏览器中创建的内容加载到其他浏览器中,它将被重新格式化为新浏览器的预期方式,通常您甚至无需进行任何实际编辑。

所有基于浏览器的WYSIWYG编辑器都会发生这种情况。他们中的一些人可能会试图规范浏览器的差异,但是你所看到的成功有限。并且用户确实有一些控制权;例如,与新行的 return 相比,浏览器通常会对 shift + return 作出不同的反应。但这让用户可能不知道需要这样做(毕竟,你使用了一个所见即所得的编辑器来让用户更轻松,而不是更复杂)。

总的来说,你真正希望的最好的方法是在服务器端代码编辑后将其标准化。

相关问题