KCfinder返回的图像标签在CKeditor上是不完整的,没有正确显示/保存。请注意,我使用内联CKEditor和KCFinder进行图像上传。
以下是集成代码:
ckeditor/config.js
config.filebrowserBrowseUrl = base_url+'/js/kcfinder/browse.php?type=files';
config.filebrowserImageBrowseUrl = base_url+'/js/kcfinder/browse.php?type=images';
config.filebrowserFlashBrowseUrl = base_url+'/js/kcfinder/browse.php?type=flash';
config.filebrowserUploadUrl = base_url+'/js/kcfinder/upload.php?type=files';
config.filebrowserImageUploadUrl = base_url+'/js/kcfinder/upload.php?type=images';
config.filebrowserFlashUploadUrl = base_url+'/js/kcfinder/upload.php?type=flash';
在HTML页面
<div id="page_body" contenteditable="true" class="full">...</div>
在JS页
<script type="text/javascript">
CKEDITOR.disableAutoInline = true;
var editor = CKEDITOR.inline( 'page_body', {
on: {
focus: function(event){
var data = event.editor.getData();
alert(data);
},
blur: function( event ) {
var data = event.editor.getData();
var page_id = <?php echo $this->uri->segment(3) ?>;
var page_link =$("#page_link").val();
$.ajax({
type: 'POST',
url: '<?php echo site_url('admin/dashboard/ajaxChangePageData') ?>',
data: { page_id: page_id, page_body: data,page_link:page_link },
beforeSend:function(){},
success:function(data){},
error:function(){ alert("Error"); }
});
}
}
} );
</script>
奇怪的是,我可以浏览服务器/上传没有任何错误与KCFinder,我甚至可以选择一个图像从服务器和图像成功地显示在内容。但代码的宽度和高度信息不存在后重新加载。我认为为图像创建的html是不完整的
在源模式下我看到-
<img alt="" src="/gchalk/content/images/333(1).jpg" 300px; height: 224px;" />
如果我第二次对div做一些改变,比如添加一些文本,情况就会变得更糟。图像丢失并作为文本处理,上面的代码片段显示为
在源模式-
<img alt="" data-cke-saved-src="/gchalk/content/images/333(1).jpg" src="/gchalk/content/images/333(1).jpg" 300px;="" height:="" 224px;"="">
在浏览器/编辑器中显示为-
<img alt="" data-cke-saved-src="/gchalk/content/images/333(1).jpg" src="/gchalk/content/images/333(1).jpg" 300px;="" height:="" 224px;"="">
我一整天都在撕我的头发,找不到一个方法。请帮我想出解决这个问题的办法。
哦,为了记录文本保存在MySQL作为"文本"通过ajax后,我很确定这不是一个问题,但仍然只是说!
我注意到图像标签在默认的ckeditor(非内联)中也搞砸了。
可能影响代码输出的因素:
1-使用PDO时的魔法引号。如果它们是打开的,请在php.ini中将它们关闭!它们已被弃用。我为什么要告诉你这些?因为在源模式下你有300px; height: 224px;"
当你存储并显示它时你有300px;="" height:="" 224px;"=""
2-你的CKeditor包。尝试下载并重新加载Ckeditor(如果可能,将其更新到最新版本)
除此之外,我看不出你提供的代码有什么问题。好运!