TinyMCE版本:4.3.10
用于上传图片的插件:jbimages
我需要存储两个图像的绝对路径以及添加到表单的任何链接,以便可以通过电子邮件发送消息。然而,切换" relative_urls"其中一个搞砸了。
例如:
relative_urls:true
此设置会生成正确的链接。但是,通过jbimages上传的任何图像都会产生相对链接,这对电子邮件没有好处。图像存储为" images / 21312.png"。这不会在电子邮件中打开,因为它错过了域名前缀。
relative_urls:false
通过jbimages上传时,此设置会生成正确的图像URL。但是,所有其他链接都以文档根URL为前缀。换句话说,链接添加为" example.org"转入" www.example.com/example.org" ;,其中example.com是我的域根。
理想的结果是将链接保存为绝对链接而不是前缀,而上传的图像则以域名的URL为前缀。
如果没有设置来容纳上述内容,是否还有其他插件可以将图像上传到正文中?我尝试拖放,但是将图像转换为base64并且不能始终正常工作。
由于
答案 0 :(得分:2)
我会看一下这个附加参数:
https://www.tinymce.com/docs/configure/url-handling/#remove_script_host
根据文档:
如果启用此选项,则为URL的协议和主机部分 返回将被删除。仅当relative_urls选项设置为false
时才使用此选项如果禁用,将以以下格式返回网址:
http://www.example.com/somedir/somefile.htm
而不是默认值 格式:/somedir/somefile.htm
。
此处将审核网址操作的整个主题:https://www.tinymce.com/docs/configure/url-handling/
如果一切正常,除了JBImages插件之外,我会问插件创建者是否有任何可以更改的设置来解决此问题。
答案 1 :(得分:2)
在@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都是上传的图像。
答案 2 :(得分:1)
尝试添加配置tinyMCE:
convert_urls : 0