KCfinder返回的图像标签在CKeditor上不完整

时间:2013-03-05 09:39:00

标签: html ckeditor image inline-editing

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进行一些更改,请添加一些文字,情况会变得更糟。图像丢失并将其视为文本,上面的代码显示为

在源模式下 -

&lt;img alt=&quot;&quot; data-cke-saved-src=&quot;/gchalk/content/images/333(1).jpg&quot; src=&quot;/gchalk/content/images/333(1).jpg&quot; 300px;=&quot;&quot; height:=&quot;&quot; 224px;&quot;=&quot;&quot;&gt;

它在浏览器/编辑器中显示为 -

<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(不是内联)中搞砸了。

1 个答案:

答案 0 :(得分:0)

可能影响代码输出的事情:

使用PDO时

1- Magic Quotes。如果它们是ON,请在php.ini中关闭它们!他们被弃用了。我为什么告诉你这个?是因为在您的源模式中,当您存储并显示它时,您有300px; height: 224px;" 300px;="" height:="" 224px;"=""

2-你的CKeditor包。尝试下载并重新上载您的Ckeditor(如果可能,请将其更新到最新版本)

除此之外,我没有看到您提供的代码有任何问题。祝你好运!