更改CKEditor查找图像的位置

时间:2013-07-16 02:32:15

标签: ckeditor wysiwyg

我想知道是否有某种方法可以改变CKEditor查找图像的位置。现在它使用包含编辑器的网页的位置作为根目录,但我想编写一个javascript函数,可以将此目录更改为传递给函数的任意路径。

这方面的大局是我想扩展CKEditor的功能,以便能够将它创建的源保存到用户选择的任何位置。我已经实现了使用wxWidgets获取源代码并保存它,但是在让CKEditor更改其工作目录时遇到问题,以便可以从用户选择的目录中包含图像。

我尝试过使用baseDir,basePath和baseHref之类的一些属性来实现这一点,但据我所知,他们中没有一个能够完成我正在寻找的东西。

所以过程将是: (1)用户选择将保存源的目录 (2)用户使用CKEditor创建页面,其中可以包含所选目录中的图像并在CKEditor中显示 (3)用户将其页面源保存到所选目录(此处保存的源应使用图像的相对路径,因为源现在与其包含的图像位于同一目录中)

我意识到这是对CKEditor的一种非常规的使用,但是如果有人能够让我朝着正确的方向发挥作用,我真的很感激。

编辑: 因此,经过一些小试验并将一些反斜杠更改为常规斜线后,看起来baseHref属性就像我想要的那样。正如我所愿,我仍然无法在运行时更改其值。有人知道CKEditor是否可以这样做?我仍然希望有一个javascript函数,我可以传递路径并让它更改此baseHref值。现在我在config.js中设置了它的值。

如果无法做到这一点,我知道你可以在编辑器中读写源代码。所以我想从编辑器中读取和存储源代码,用新的config.baseHref重新加载CKEditor,然后将源代码写回编辑器。有谁知道CKEditor api是否提供重新加载其配置的功能?

感谢。

1 个答案:

答案 0 :(得分:0)

我不希望有太多人会尝试做我在这里做的事情,因为CKEditor通常托管在某个地方的服务器上,但是如果有人发现它有用,这就是我最终做的事情。

正如我在编辑问题中提到的那样,修改baseHref给了我一个功能,就是在图像文件名前加上导致它的目录路径。在编辑器运行时我无法找到修改它的方法所以我最终告诉CKEditor每次以行开始时加载外部配置文件

config.customConfig = 'C:/Users/kenwood/Desktop/MarkCreator2/ckeditor/custom_config.js';

然后,当我想切换目录时,我使用C ++将新内容写入custom_config.js。

不幸的是,这种方法意味着我必须从编辑器中读取内容,刷新页面,然后在我想要更改目录的任何时候写回编辑器内容。这足以满足我的需要。