0

我将 ck 编辑器(最新版本 4.1)嵌入到 dj 浏览器中。 dj 浏览器

我想在 ck 编辑器中设置一个外部 css 文件( http://mystyle.css )。

但我不想修改或编辑 ck 编辑器的配置文件。css 的 url 应该是动态设置的,在运行时可以更改其名称和 url。

我尝试的是调用以下命令,但没有帮助。

CKEDITOR.stylesSet.add('mystyle');
..
CKEDITOR.config.stylesSet('mystyle:http://mystyle.css');
4

1 回答 1

2

它们的关键是访问 CKE iframe 的文档对象。然后,您只需在文档头部吐出一个 CSS 链接,而无需触及配置。示例来自https://stackoverflow.com/a/577002/694325

我假设您使用“editor1”作为名称,但使用您拥有的任何内容..

var doc = CKEDITOR.instances.editor1.document.$; // get CKE doc!
var cssId = 'myCss';
if (!doc.getElementById(cssId))
{
    var head  = doc.getElementsByTagName('head')[0];
    var link  = doc.createElement('link');
    link.id   = cssId;
    link.rel  = 'stylesheet';
    link.type = 'text/css';
    link.href = 'http://my.little.pony.net/Your.css';
    link.media = 'all';
    head.appendChild(link);
}

或者,如果您喜欢这种东西,您可以使用 jQuery(https://stackoverflow.com/a/2685661/694325

var doc = CKEDITOR.instances.editor1.document.$; // shortcut
$("<link/>", {
   rel: "stylesheet",
   type: "text/css",
   href: "http://my.little.pony.net/Your.css"
}).appendTo($(doc).find("head"));
于 2013-04-25T07:13:31.293 回答