2013-07-16 98 views
0

我想知道是否有某種方法可以改變CKEditor尋找圖像的位置。現在它使用包含編輯器的網頁的位置作爲根目錄,但我想寫一個javascript函數,可以將此目錄更改爲傳遞給該函數的任何任意路徑。改變CKEditor尋找圖像的位置

更大的情況是,我想擴展CKEditor的功能,以便將創建的源保存到用戶選擇的任何位置。我已經實現了獲取源代碼並使用wxWidgets進行保存,但是無法讓CKEditor更改其工作目錄,以便可以從用戶選擇的目錄中包含圖像。

我試過使用一些像baseDir,basePath和baseHref這樣的屬性來使這成爲可能,但據我所知,他們中的任何一個都不會做我正在尋找的東西。

所以該過程將是: (1)用戶選擇一個目錄,其中源將被保存 (2)用戶創建使用的CKEditor其中從所選擇的目錄中的圖像可以被包括並且在CKEditor的 顯示的頁面(3)用戶將其頁面源保存到所選目錄中(此處保存的源應使用圖像的相對路徑,因爲源現在位於與其包含的圖像相同的目錄中)

我意識到這是一個非常規的CKEditor使用,但如果有人能夠在正確的方向踢我這樣做,我會非常感激。

編輯: 因此,一個小實驗,改變了一些反斜槓反斜槓規律後,它看起來像baseHref屬性確實想什麼我。儘管如此,我仍然無法在運行時改變其價值。有人知道這是CKEditor可能嗎?我仍然想要一個javascript函數,我可以傳遞一個路徑並改變這個baseHref值。現在我已經在config.js中設置了它的值。

如果這是不可能的,我知道你可以在編輯器中讀寫源代碼。所以我想訴諸閱讀並存儲編輯器中的源代碼,用新的config.baseHref重新加載CKEditor,然後將源代碼寫回編輯器。有誰知道CKEditor API是否提供重新加載其配置的功能?

謝謝。

回答

0

我不指望太多人會嘗試做我在這裏做的事情,因爲CKEditor通常託管在某個服務器上,但如果有人發現它有幫助,這就是我最終做的。

正如我在我的問題的編輯中提到的,修改baseHref給了我前置映像文件名與導向它的目錄路徑的功能。我沒能找到一種方法來修改它,而在編輯器中運行,所以最後我告訴CKEditor的每次開始

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

然後我用C++的線時間來加載外部配置文件在我想要切換目錄的任何時候將新內容寫入custom_config.js。

不幸的是,這種方法意味着我不得不從編輯器中讀取內容,刷新頁面,然後在任何時候想要更改目錄時重新寫入編輯器內容。這足以滿足我所需要的。