0

我想知道是否有某种方法可以更改 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 是否提供重新加载其配置的功能?

谢谢。

4

1 回答 1

0

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

正如我在对我的问题的编辑中提到的,修改 baseHref 为我提供了在图像文件名之前加上指向它的目录路径的功能。在编辑器运行时我无法找到修改它的方法,所以我最终告诉 CKEditor 每次从该行开始时加载一个外部配置文件

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

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

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

于 2013-07-19T02:15:32.000 回答