如何在CKEDITOR中保存数据库中的图像源时使用绝对URL

Pra*_*wal 6 javascript jquery ckeditor

我正在使用CKEDITOR来创建新闻通讯.一切都很顺利但是当我发送新闻通讯到电子邮件时,那里存储的图像不会显示.问题是由CKEDITOR使用图像源的相对路径引起的,例如<img src='/newsletter_images/news1/img1.jpg'>.

我希望CKEDITOR使用绝对网址,例如:

<img src='http://www.mydomain.com/newsletter_images/news1/img1.jpg' />
Run Code Online (Sandbox Code Playgroud)

我尝试的初始化如下:

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

但没有奏效.

在一些帖子,我发现使用baseUrlbaseDir能解决问题.我试过这个:

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

但那也不起作用.

sum*_*mea 4

我认为问题与 ckeditor 主要用于基于网页的使用的想法有关。当您通过电子邮件发送所有这些内容时,我认为 ckeditor 不再为您跟踪该baseHref 。

如果您找到了一种方法,可以在发送电子邮件之前将该baseHref添加到每个链接(使用您可能使用的任何服务器端语言),最终可能会得到您想要的结果。

像这样的东西(伪代码):

// get ckeditor text
// find/replace <a href=""></a> links with baseHref + link
// mail result
Run Code Online (Sandbox Code Playgroud)