我的 CKEditor 在将样式应用到选定段落时添加了很多不必要的标签
我使用以下 html 启动 CKeditor:
<p>
Hi, this a text!</p>
当我选择段落并使用工具栏应用样式时,CKEditor 将我的 html 格式化为以下格式:
<p>
<span style="display: none;"> </span></p>
<p>
<span id="cke_bm_173S" style="display: none;"> </span>Hi, this a text!<span id="cke_bm_173E" style="display: none;"> </span></p>
<p>
<span style="display: none;"> </span></p>
有什么方法可以阻止 CKEditor 添加带有不间断空格的段落吗?
我已经尝试过将 config.fillEmptyBlocks = false;
和 config.IgnoreEmptyParagraphValue = true;
添加到我的配置文件中
更新
原来这个问题是由样式本身引起的,它是自定义样式。这段代码是问题所在:{name : 'Heading1', element : 'p class= "subheadingsecondlevel"}
,一旦我将其更改为:{name : 'Heading1', element : 'p', 属性:{class : 'subheadingsecondlevel'}
最佳答案
您可能需要考虑这些:
config.enterMode = CKEDITOR.ENTER_BR;
config.autoParagraph = false;
您可以在这里查看我的帖子以获取更多信息:
How to configure ckeditor to not wrap content in <p> block?
以下配置设置将阻止编辑器在空段落中插入不间断空格:
config.fillEmptyBlocks = false;
是否在仅应用一种样式后插入了所有其他代码?
你用的是什么风格,不管你用的是什么风格,都是额外插入的代码吗?
如果您选择文本并单击粗体按钮,会发生什么情况?
您显示的代码是从编辑器的源代码 View 还是从您用来显示内容的最终页面复制而来的?
body 健康,
乔
关于javascript - Ckeditor 在应用样式时添加空段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7268859/
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我通常会看到版本1,但我从事的一些开源项目使用版本2,而我过去也使用过版本3。有没有人有更优雅的解决方案,也许是更具可扩展性的解决方案?版本1:vartext1='thisismyscript\'scontent';版本2:Thisismycontentvartext1=$('#text1').html();版本3:vartext1=$('#text1'
目录一、试题描述1、任务2、基本功能要求3、发挥要求4、说明二、开发板介绍 三、所用器件:1一个超声波测距传感器2eeprom3电位器44*4矩阵键盘5蜂鸣器6led灯7步进电机8RTC实时时钟9所用芯片 四、主要思路一、试题描述1、任务 设计并制作汽车倒车防撞报警器。开机后,屏幕第一行显示“DCFZBJQ”,第二行显示“抽签号后4位”(如0207),并自下而上滚动,3秒后停止滚动。画出系统各组件连接图,并简要说明,画出键盘图并标注各键功能。画出全部程序流程图。2、基本功能要求 (1)应用超声波传感器实现距离采集,并在12864点阵屏上显示。利用实验桌面到房顶距离(
对于dynamicpage,我使用AjaxLongPolling,甚至使用jQuery1.9,InternetExplorer在第一个请求后挂起。脚本代码基于文章SimpleLongPollingExamplewithJavaScriptandjQuery$(document).ready(function(){(functionpoll(){$.ajax({url:"ajaxstats.json",success:function(data){$("button.requests").empty().append(data.requests);},dataType:"json",co
我刚刚在Angular表达式中发现了这个有趣的明显不一致:可以在表达式中执行赋值如果赋值涉及来自ngRepeat的局部变量,这将中断这可以通过使用Controller中定义的setter而不是表达式中的赋值来克服SeePlunkerdocsonexpressions似乎只是明确禁止表达式中的控制流,我没有看到任何提及上述行为的类型。我想由此得出的结论是,无论如何使用setter可能是一种更好的设计模式,但是有没有人知道关于表达式中可能的内容的更明确的引用?如果Angular单方面禁止在其中赋值,也许会更好。(一个相关的不一致是,似乎可以在表达式中递增i=i+1而不是i+=1...)
我有window.onbeforeunload正确触发。它会显示一个确认框,以确保用户知道他们正在浏览(关闭)窗口,并且所有未保存的工作都将被删除。我有一个独特的情况,如果用户通过单击链接离开页面,我不希望触发此事件,但我无法弄清楚如何检测是否已在函数内单击链接以停止功能。这就是我的代码:window.onbeforeunload=function(){varmessage='Youareleavingthepage.';/*IfthisisFirefox*/if(/Firefox[\/\s](\d+)/.test(navigator.userAgent)&&newNumber(Reg
当我将div的CSS样式从block更改为none时,是否会触发纯Javascript事件(无jQuery).我以为我可以通过“onBlur”捕捉到它,但看起来我做不到!请指教! 最佳答案 没有因可见性更改而触发的DOM事件。您能做的最好的事情就是始终使用相同的函数来调整block的可见性,而不是每次都更改它的样式。旧模式:functiondoSomething(){alert("I'mdoingsomething!");myBlock.style.display="block";}functiondoSomethingElse()
我已经看过了,但我似乎无法找到并回答这个问题(好吧,一个对我有用的问题)。我制作了一个Chrome扩展程序,它应该只在单击图标时运行我的内容脚本中的代码,但它总是在页面加载后立即运行。有没有办法防止这种情况发生?我可以为run_at输入的所有可能字符串都不能真正满足此要求。这是两个脚本中的示例代码:内容脚本:functionrunIt(){console.log('working');}runIt();背景.js:chrome.browserAction.onClicked.addListener(function(activeTab){chrome.tabs.executeScrip
这是我的jQuery$('#samsungShine').mouseover(function(){$('#samsungShineImage').animate({"margin-left":"304px"},700);}).mouseout(function(){$('#samsungShineImage').css("margin-left","-304px");});当我将鼠标悬停时,它工作得很好,当我将鼠标悬停时,它不会重置,它会重新播放鼠标悬停...这是一个小问题,所以您可以明白我的意思:http://jsfiddle.net/2tujd/ 最佳
我正在尝试制作一个简单的Javascript函数,以便在单击图像时打开一个带有更大图像的窗口。发生的事情是这个测试警报在页面加载时弹出,然后当我点击图像时什么都不做。这是代码functionzoom(){alert("test!");}document.getElementById("us").onclick=zoom(); 最佳答案 试试这个functionzoom(){alert("test!");}document.getElementById("us").onclick=zoom;
我有以下代码varPROMO=PROMO||{};PROMO.Base=(function(){var_self=this;varInit=function(){WireEvents();};varWireEvents=function(){//wireupevents};}());在同一个文件中我有调用上述函数的代码我正在努力达到可以使用以下代码的终点$(document).ready(function(){PROMO.Base.Init();});这给出了错误Cannotcallmethod'Init'ofundefined现在我知道有很多方法可以编写javascript,但在这种