解决ruby on rails 使用gem ‘kindeditor‘ js方式 本地上传图片失效问题
作者:互联网
使用ajax的方式,渲染局部视图,js初始化富文本,导致本地上传图片不会带有域名饿的url
1.官网的方案1:
# coffeescript code
$(document).on 'turbolinks:before-cache', ->
KindEditor.remove('.rails_kindeditor')
$(document).on 'turbolinks:load', ->
$('.rails_kindeditor').each ->
KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300'
或者是:
# coffeescript code
$(document).on 'turbolinks:before-cache', ->
KindEditor.remove('.rails_kindeditor')
$(document).on 'turbolinks:load', ->
$('.rails_kindeditor').each ->
KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300', "items":["fontname","fontsize","|","forecolor","hilitecolor","bold","italic","underline","removeformat","|","justifyleft","justifycenter","justifyright","insertorderedlist","insertunorderedlist","|","emoticons","image","link"]
但作为ajax方式,还是用js 手动回显解析成:
$('.rails_kindeditor').each(function () {
KindEditor.create(".rails_kindeditor",{'allowFileManager': true,'uploadJson':$(this).data('upload'),'fileManagerJson': $(this).data('filemanager'),"width": '100%', "height": '500px'})
});
但这导致上传的本地图片只会显示路径 没有域名:
当我看到这个时,就明白是什么原因导致了:
urlType 属性的: 空为不修改URL,relative为相对路径,absolute为绝对路径,domain为带域名的绝对路径。
数据类型:String 默认值:空
所以js写法加上 urlType: ‘domain’ 即可
$('.rails_kindeditor').each(function () {
KindEditor.create(".rails_kindeditor",{'urlType' : 'domain', 'allowFileManager': true,'uploadJson':$(this).data('upload'),'fileManagerJson': $(this).data('filemanager'),"width": '100%', "height": '500px'})
});
标签:kindeditor,KindEditor,upload,rails,js,allowFileManager,data 来源: https://blog.csdn.net/weixin_42800181/article/details/117195216