更改TinyMCE中的默认图像路径

时间:2019-06-13 09:33:33

标签: javascript tinymce

我有一个Joomla网站,其中有用于图像的其他服务器。但是,现在在编辑器中,由于从相对URL加载而未显示图像。图像路径是否有可能改变?

示例:

“ / images / image.jpg”->“ http://images.domain.com/images/image.jpg

如您所见,正确的URL就是相同的URL,但是前面带有http://images.domain.com

我试图亲自找到它,但找不到任何有价值的东西。我看到您可以在TinyMCE初始化中更改相对URL,但这不能解决我的问题。我需要将该子域添加到它的前面。

我不介意在初始化所有内容后使用脚本或其他任何方法来更改url,我只是希望它能够工作。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式解决此问题。如果人们使用TinyMCE image插件插入图像,则有一个特定的选项:

https://www.tiny.cloud/docs/plugins/image/#image_prepend_url

如果Joomla具有一些自定义的内置方式来插入/管理图像,则该选项可能不起作用,因为它特定于image插件。

TinyMCE还具有多种URL处理配置选项:

https://www.tiny.cloud/docs/configure/url-handling/

这些也可以让您解决此问题。

最后,您可以依靠TinyMCE API来知道何时将内容放入编辑器中。然后,您可以检查该HTML图像,并根据需要调整URL。例如:

tinymce.init({
    selector:  '#myTextarea',
    editor.on('BeforeSetContent', function(e) {
        console.log('BeforeSetContent: ' + e.content);
        console.log(e);
        // The variable e.content is what will be inserted in the editor.
        // You can modify that as needed before TinyMCE does the insertion.
        // This is a simple example but shows the idea.
        if (e.content.startsWith('<span class="mention"')) {
            e.content = e.content + '&nbsp;&nbsp;&nbsp;';
        }
    });
})