2013-11-02 82 views
0

我正在使用ckeditor,至今喜欢它。由于我从CDN加载它,因此我无法立即访问config.js。我想允许大多数html标签,但是想要阻止标签,因为我的页面格式很大程度上取决于div标签。但是我无法阻止CKEditor的div标签。我阅读ckeditor文档,并遵循CKEDITOR.replace并用textareas替换所有方法,并将textareas归类为ckeditor。不过,我的更改似乎没有任何影响。ckeditor禁止一些标签

I am loading the ckeditor.js from a CDN first. 

Then I tried 
var editor = CKEDITOR.replace('ckeditor', { 
    allowedContent: 'a[!href]; ul; li{text-align}(someclass)' 
}); 

我置于上述功能都在的document.ready并且还靠近所述主体的所述后textarea的端部在不同的时间被加载时,脚本标签之间,来进行测试。

不知何故,我的变化似乎没有任何影响。有没有人有任何建议或帮助?显然我在某个地方搞砸了。有关将CKEDITOR.replace/replaceall呼叫放在哪里的任何指导?我的textarea被分类为ckeditor。

多谢

回答

0

我textarea的被归类为CKEditor的。

CKEditor自动替换DOM中的.ckeditor类的所有textarea。这是您的显式CKEDITOR.replace调用什么都不做的第一个原因。另一个原因是这种调用expects id to be passed作为第一个参数。

如果您想要这样做,请将allowedContent定义移动到config.js,以便在实例中共享并避免CKEDITOR.replace。否则,请从您的元素中删除.ckeditor类或禁用/更改config.replaceClass以使CKEDITOR.replace按预期工作(id作为参数)。

P.S.确保你有最新版本的CKEditor。

+0

嗨Oleq。我可以添加一个ID到我想操作的textarea。我遇到的config.js问题是我从CDN加载ckeditor,因此没有从我的网站加载ckeditor。我仍然可以加载本地config.js来修改从在线加载的ckeditor吗?我当然可以从textarea中删除ckeditor类,而是给它一个id然后替换。 – user2530027

+0

试过了。将xeditor类添加到文本编辑器中,并删除了ckeditor类,现在当我打开页面时,它会在xeditor上的鼠标悬停上显示 - 因此它会被激活。但是它仍然不会阻止我使用所有标签。我在干什么! – user2530027

+0

这并不能解决问题,因为即使使用'CKEDITOR.replace('editor1',config);',ACF也不会启动,您可以输入任何内容。我试图将工具栏变成一个源按钮,允许allowedContent变成“p”,但我可以输入任何东西到源模式,它并不在乎什么时候打开wysiwyg。 – Nenotlep