2012-01-25 16 views
6

我正在使用CKEDITOR創建新聞稿。一切都很順利,但當我發送通訊到電子郵件時,存儲在那裏的圖像不會顯示。該問題是由CKEDITOR使用圖像源的相對路徑引起的,例如, <img src='/newsletter_images/news1/img1.jpg'>如何在保存CKEDITOR數據庫中的圖像源的同時使用絕對URL

我想CKEDITOR使用絕對路徑,如:

<img src='http://www.mydomain.com/newsletter_images/news1/img1.jpg' /> 

我嘗試初始化如下:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#editor1').ckeditor({ baseHref: "http://www.google.com/" }); 
    }); 
</script> 

,但沒有奏效。

在一些帖子中,我發現使用baseUrlbaseDir可以解決問題。我試過這個:

$('#editor1').ckeditor({ 
        baseHref: "http://www.mydomain.com/", 
        baseUrl: "http://www.mydomain.com/newsletter/", 
        baseDir: "/newsletter/" 
}); 

但這也沒有工作。

回答

3

我認爲問題與ckeditor主要用於基於網頁的使用有關。當你通過電子郵件發送所有這些內容時,我會認爲ckeditor不再跟蹤你的這個baseHref

如果您在發送電子郵件之前(使用您可能使用的任何服務器端語言)發現在每個鏈接上添加該baseHref的方法,它可能會以您想要的結果結束。

像這樣(僞代碼):

// get ckeditor text 
// find/replace <a href=""></a> links with baseHref + link 
// mail result 
+1

謝謝summea,暫時我根據你的僞碼使用php str_replace函數 – Prajwal

+0

解決了我的問題對不起,我應該推薦僞代碼中的str_replace函數。很高興現在正在努力......! – summea

+0

@Prajwal你可以顯示你的代碼如何獲取ckeditor的數據並用str_repalce修改它... –

0

作爲每CKEditor的文檔,這是它的設置方式:

{字符串} CKEDITOR.config.baseHref因爲:3.0基本href 用於解析編輯器內容中相對和絕對URL的URL。 config.baseHref ='http://www.example.com/path/';默認值:「」 (空字符串)

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html

+1

當我使用CKEditor 4時,這不會影響通過CKFinder插入的圖像。不知道它如何適用於其他用例,但這是單挑。 –

+0

我相信'baseHref'設置會在CKEditor生成的網頁內容中放置一個''標籤。海事組織不好。在這個文件中搜索'baseHref':http://docs.ckeditor.com/source/plugin93.html#CKEDITOR-config-cfg-baseHref –

0

的baseUrl是,你要搜索的設置,但它是必須在你的服務器設置CKFinder設置。它不能在javascript上設置,當然也不能在CKEditor實例上設置。

相關問題