我正在使用CKEDITOR创建简报。一切都很顺利但是当我发送新闻通讯到电子邮件时,那里存储的图像不会显示。该问题是由CKEDITOR使用图像源的相对路径引起的,例如, <img src='/newsletter_images/news1/img1.jpg'>
。
我希望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>
但没有用。
我发现使用baseUrl
和baseDir
找到的一些帖子可以解决问题。我试过这个:
$('#editor1').ckeditor({
baseHref: "http://www.mydomain.com/",
baseUrl: "http://www.mydomain.com/newsletter/",
baseDir: "/newsletter/"
});
但这也不起作用。
答案 0 :(得分:4)
我认为这个问题与ckeditor主要用于基于网页的使用有关。当您通过电子邮件发送所有这些内容时,我认为ckeditor不再为您跟踪 baseHref 。
如果您在发送电子邮件之前找到了将 baseHref 添加到每个链接的方法(使用您可能正在使用的任何服务器端语言),它可能会得到以下结果:你想要的。
像这样(伪代码):
// get ckeditor text
// find/replace <a href=""></a> links with baseHref + link
// mail result
答案 1 :(得分:0)
根据ckeditor文档,这是如何设置的:
{String} 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
答案 2 :(得分:0)
baseUrl是您要搜索的设置,但它是您必须在服务器中设置的CKFinder设置。它不能在javascript上设置,当然也不能在CKEditor实例上设置。