CKEditor 如何在小部件中允许 href="javascript:void(0)"
CKEditor how to allow href="javascript:void(0)" in a widget
我找不到关于如何让 CKEditor 将 href="javascript:void(0)"
保存在我放置在小部件模板中的 link 中的干净解决方案。当我保存它时,通过调用 CKEDITOR.instances.*.getData()
,它 returns href="javascript void(0)"
.
我尝试在 config.js 中设置 config.allowedContent = true;
和 config.linkJavaScriptLinksAllowed = true;
,但它们似乎都没有做任何事情...
我已阅读 this page,其中指出应该修复此问题,但这不起作用。有什么想法吗?
下面是有趣的简化 plugin.js 部分。这允许 link 中的 href
属性,但它仍然会删除 :
.
template:
'<div class="container">' +
'<a href="javascript:void(0)">' +
'<span class="label">Label</span>' +
'</a>' +
'</div>',
allowedContent:
'a[href]; div(*); span(*);',
editables: {
Label: {
selector: '.label',
allowedContent: ''
}
}
CKEditor版本:4.5.9
浏览器:Chrome
您在变更日志中找到的 bug fix 仅针对 Link 对话框实现,因此它仅在通过插件对话框插入 links 时有效。
据我了解,您的情况有所不同,因为您使用 link 和 href="javascript:void(0)
作为小部件模板的一部分。不确定您的模板结构是什么以及您是如何创建小部件的,但是在创建它时您可以使用 editables
属性 来定义小部件的这个可编辑部分中允许的元素:
editables: {
content: {
selector: '.widget-content',
allowedContent: 'p a[href]'
}
}
因此,使用 allowedContent
您可以为小部件的这一部分定义允许的内容 - 在本例中为 p
标签和具有 href
属性的 a
标签。使用这样的配置 <a href="javascript:void(0)">Link</a>
应该正确插入。
您可以阅读有关允许的内容规则的更多信息in the documentation。
我找不到关于如何让 CKEditor 将 href="javascript:void(0)"
保存在我放置在小部件模板中的 link 中的干净解决方案。当我保存它时,通过调用 CKEDITOR.instances.*.getData()
,它 returns href="javascript void(0)"
.
我尝试在 config.js 中设置 config.allowedContent = true;
和 config.linkJavaScriptLinksAllowed = true;
,但它们似乎都没有做任何事情...
我已阅读 this page,其中指出应该修复此问题,但这不起作用。有什么想法吗?
下面是有趣的简化 plugin.js 部分。这允许 link 中的 href
属性,但它仍然会删除 :
.
template:
'<div class="container">' +
'<a href="javascript:void(0)">' +
'<span class="label">Label</span>' +
'</a>' +
'</div>',
allowedContent:
'a[href]; div(*); span(*);',
editables: {
Label: {
selector: '.label',
allowedContent: ''
}
}
CKEditor版本:4.5.9 浏览器:Chrome
您在变更日志中找到的 bug fix 仅针对 Link 对话框实现,因此它仅在通过插件对话框插入 links 时有效。
据我了解,您的情况有所不同,因为您使用 link 和 href="javascript:void(0)
作为小部件模板的一部分。不确定您的模板结构是什么以及您是如何创建小部件的,但是在创建它时您可以使用 editables
属性 来定义小部件的这个可编辑部分中允许的元素:
editables: {
content: {
selector: '.widget-content',
allowedContent: 'p a[href]'
}
}
因此,使用 allowedContent
您可以为小部件的这一部分定义允许的内容 - 在本例中为 p
标签和具有 href
属性的 a
标签。使用这样的配置 <a href="javascript:void(0)">Link</a>
应该正确插入。
您可以阅读有关允许的内容规则的更多信息in the documentation。