繁体   English   中英

TinyMCE:如何在上传图像时保留相对URL但是在使用“插入链接”选项时使用绝对URL?

[英]TinyMCE: How do you keep relative URLs when uploading images BUT use absolute URL when using “insert link” option?

TinyMCE版本:4.3.10
上传图片的插件:jbimages

我需要存储两个图像的绝对路径和添加到表单的任何链接,以便可以通过电子邮件发送消息。 但是,切换“relative_urls”会使其中一个混乱。

例如:

relative_urls:是的
此设置会生成正确的链接。 但是,通过jbimages上传的任何图像都会产生相对链接,这对电子邮件没有好处。 图像存储为“images / 21312.png”。 这不会在电子邮件中打开,因为它缺少域名前缀。

relative_urls:false
通过jbimages上传时,此设置会生成正确的图像URL。 但是,所有其他链接都以文档根URL为前缀。 换句话说,添加为“example.org”的链接变为“www.example.com/example.org”,其中example.com是我的域根。

理想的结果是将链接保存为绝对链接而不是前缀,而上传的图像则以域的URL为前缀。

如果没有设置来容纳上述内容,是否还有其他插件可以将图像上传到正文中? 我尝试拖放,但是将图像转换为base64并不总是正常工作。

谢谢

我会看看这个额外的参数:

https://www.tinymce.com/docs/configure/url-handling/#remove_script_host

根据文档:

如果启用此选项,则将删除返回的URL的协议和主机部分。 仅当relative_urls选项设置为false时,才使用此选项

如果禁用,将以以下格式返回URL: http://www.example.com/somedir/somefile.htmhttp://www.example.com/somedir/somefile.htm而不是默认格式: /somedir/somefile.htm

这里回顾了URL操作的整个主题: https//www.tinymce.com/docs/configure/url-handling/

如果除了JBImages插件之外一切都正常工作,我会问插件创建者是否有任何设置可以在那里更改以解决此问题。

在@Michael Fromin的帮助下,我结合他的回答/评论解决了这个问题:

我需要设置以下内容:

relative_urls: true
remove_script_host: false
urlconverter_callback : 'customURLConverter'

对于customURLConverter函数,我使用了这个:

function customURLConverter(url, node, on_save, name)
{
    var checkURL;
    var urlPrefix;

    // Get the first 7 characters of the string
    checkURL = url.substring(0, 7);

    // Determine if those characters are coming from the image uploader
    if(checkURL === "/system")
    {
        // prefix the incoming URL with my domain
        urlPrefix = 'https://www.example.com';
        url = urlPrefix.concat(url);
    }

    // Return URL
    return url;
}

在我的用例中,使用jbimages从我的上传图像中获取的URL是可预测的,因此我可以检查它的前X个字符。 没有理由任何人(在我的网站中)链接到以“/ system”开头的URL,因此我可以安全地假设从TinyMCE以“/ system”开头的任何URL都是上传的图像。

尝试在配置tinyMCE中添加:

convert_urls : 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM