问题标签 [ckeditor4.x]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - CKeditor 下拉菜单上的内联工具栏 keyup 事件
我需要每次点击ckeditor内联工具栏按钮来触发一个功能,我用它来做到这一点:
(“cke_FormLinePreview”是正在编辑的元素的id)
问题是当我按下不同下拉列表中的选项(例如字体大小下拉列表中的“16”)时,它不会触发我的功能。有什么简单的方法可以做到这一点吗?还是我必须将eventlitsner 添加到工具栏的每个子元素才能完成此任务?
谢谢,
本
javascript - 如何在CKEDITOR中动态插入文本
我在我的网络中使用插件 CKEDITOR 进行文字编辑器。在编辑器中,我有一个有两列的表。如果用户输入的数字将添加到 (50) 并且结果自动出现在第二列中,我想在第一列中实现这一点。使用 Jquery 很容易,但它不起作用。试过的代码:
但是这段代码会自动插入到编辑器的文本区域上方。
ruby-on-rails - 自定义 CKEDITOR_BASEPATH 设置
我想要一个自定义的 CKEDITOR_BASEPATH 作为参考https://github.com/galetahub/ckeditor。
我的应用程序在 baseURL 上运行,如下所示 http://localhost:3000/tutorsaround
因此,我将“app/assets/javascripts/ckeditor/basepath.js.erb”更改为
但是,当我转到不同的页面时,我在控制台中看到了一个错误。获取http://localhost:3000/tutorsaround/boards/tutorsaround/assets/ckeditor/config.js?t=F0RD 404(未找到)
似乎在每个子路径之后插入了路径,而不是http://localhost:3000/
所以我的问题是如何为 CKeditor 添加一个 base_path 基本 url 将始终为http://localhost:3000/tutorsaround并且每当它想要引用 js 源时,它将是http://localhost:3000/tutorsaround /资产/ckeditor/ ......
EDIT2 我将base_path 放在它输出“tutorsaround/assets/ckeditor/”的终端中我的问题是这个字符串在“localhost:3000/”之后没有连接。但是,任何使用 CKEditor 的页面都会在页面 url 上连接此字符串。例如,如果“localhost:3000/boards”有CK编辑器,那么它会尝试通过“ http://localhost:3000/boards/tutorsaround/assets/ckeditor/config.js?t=F0RD ”获取资源" 如果 "localhost:3000/boards/1" 已经使用了 CKEditor,那么它会尝试从 " http://localhost:3000/boards/1/tutorsaround/assets/ckeditor/config.js?t=F0RD 获取"
regex - 如何在 CKEditor 4 中保护刀片模板语言?
我目前正在使用 CKEditor 作为后端邮件模板编辑面板。经过一些调整,我成功地保护了 Blade 模板使用的 php 源代码和 {{ }} 标签。
可悲的是,我注意到任何像 @if @foreach 这样的 Blade 单词和其他单词都会在文本周围移动并包裹在
标签使它们符合 html 标准。
有什么办法可以避免这种行为并让这些元素保持不变并作为(例如)受保护的来源存在于页面中?
也许您可以建议一个适合所有 Blade 语言字符串的正则表达式?
提前非常感谢。费德里科
jquery - CKEditor 和 jquery 在 IE 中延迟的意外行为
我正在使用 jquery deferredsetReadOnly()
在编辑器初始化并准备好之后调用。所以我有
当使用 deferred to callsetReadOnly()
时,这给了我 IE 中的“权限被拒绝”错误。
但是,如果我setReadonly()
在函数中打开instanceReady
,那不会给我错误消息。
我进行了搜索,但找不到任何解释为什么会这样,并且当使用 jquery deferred 时,我的权限被拒绝。有没有人见过这个?或者知道IE是否有某种限制?
编辑:
_ckeditorInitDeferred 是延迟对象
这是在编辑器实例准备好并调用 _ckeditorInitDeferred.resolve() 时禁用编辑器的功能。
ckeditor - CKEditor 中的块/内联“元标记”
我正在开发一个自定义 CMS,其中集成了 CKEditor (4.5.1) 以生成友好的 HTML 内容。
我们提供的功能之一是能够将页面的某些部分限制为特定的用户组,据我所知,最简洁的方法是创建一个新标签并将其用于跟踪内容,<restrict data-usertype="1,2,3">restricted content for user types 1, 2, 3 here</restrict>
例如将被后端剥离。
我遇到的问题是我的自定义标签隐式需要同时支持块标签和内联标签,我不确定如何正确设置它。
我尝试了各种组合,要么根本不允许添加任何内容,要么完全禁用插件(因为它违反了 ACF 自己的健全性检查);现在我的配置可以让我添加<restrict>
块,让我在对话框中编辑它(包括通过双击),但不会让我嵌套任何类型的内容,并且会导致 CKEditor 抛出“无法读取”切换回源模式时的 null 警告属性。
我目前对这个插件的配置如下:
我想我设置editables
不正确,可能是这个标签的一般允许内容,但我看不出我应该如何创建这样一个标签,我无法想象创建这样一个幻像标签会在浏览器之外解析将是一个新问题。
提前致谢!
javascript - CKEditor 中的输入模式正在发生变化
在CKEditor
我想区分粘贴的内容和用户添加的内容。因此,在paste
ckeditor 事件中,我将p
复制内容的标签更改为,div
以便所有新段落都由div
复制代码的标签表示。下面是代码。
这很好用,但是当我按下回车键并尝试添加任何新内容时,这样做之后ckeditor
会添加一个新div
标签来包装内容,而我的配置中存在这个声明
我试图在粘贴事件后更改输入模式,但没有帮助。
有什么建议吗?
javascript - 自定义按钮并将多个元素包装在 TinyMCE 或 CKEditor 中的一组标签中?
我一直在玩一些所见即所得的 HTML 编辑器,并发现 TinyMCE 和 CKEditor 最能满足我的要求。但是,我似乎无法添加一个额外的按钮来使用它们的 API 来包装多个元素。我尝试使用一种样式进行包装,但是,两者都单独包装每个选定的元素,而不是作为一个组。
因此,当我突出显示并单击新的自定义按钮时...
代替...
我得到...
在这两个编辑器中实现前者需要哪些 API 调用?
对于 TinyMCE v4.2,我尝试过:
对于 CKEditor v4.5:
ckeditor - [ckeditor]:如何只允许一种 CSS 样式
嗨,
有没有办法只禁止
显示:内联块;并显示:块;
并允许其他显示规则?如果我将{display } 添加到 config.disallowedContent 规则中,则将不允许所有显示样式(也显示表格、内联和其他)。
Tnx 回答。
javascript - ckeditor 将标签分成两部分
当我试图将 html 下面的粘贴复制到 ckeditor 时,它会将a
标签分成两部分
原创内容
粘贴后的内容
为了更好的可读性,我省略了粘贴内容中的样式。
如您所见,ckeditora
在粘贴后生成了一个额外的标签。有什么办法可以避免 ckeditor 生成新a
标签。
我的配置是
我没有任何配置config.allowedContent