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



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;"="">

我一整天都在撕我的头发,找不到一个方法。请帮我想出解决这个问题的办法。

哦,为了记录文本保存在MySQL作为"文本"通过ajax后,我很确定这不是一个问题,但仍然只是说!

我注意到图像标签在默认的ckeditor(非内联)中也搞砸了。

可能影响代码输出的因素:

1-使用PDO时的魔法引号。如果它们是打开的,请在php.ini中将它们关闭!它们已被弃用。我为什么要告诉你这些?因为在源模式下你有300px; height: 224px;"当你存储并显示它时你有300px;="" height:="" 224px;"=""

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

除此之外,我看不出你提供的代码有什么问题。好运!

相关内容

  • 没有找到相关文章

最新更新