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;"="">
我正在撕扯我的头发一天,无法找到方法。请帮我解决一下如何解决它。
哦,为了记录,文本通过ajax帖子在MySQL中保存为“TEXT”我很确定它不是问题,但仍然只是说!
我注意到图片标签在默认的ckeditor(不是内联)中搞砸了。
答案 0 :(得分:0)
可能影响代码输出的事情:
使用PDO时 1- Magic Quotes。如果它们是ON,请在php.ini中关闭它们!他们被弃用了。我为什么告诉你这个?是因为在您的源模式中,当您存储并显示它时,您有300px; height: 224px;"
300px;="" height:="" 224px;"=""
2-你的CKeditor包。尝试下载并重新上载您的Ckeditor(如果可能,请将其更新到最新版本)
除此之外,我没有看到您提供的代码有任何问题。祝你好运!