当我尝试在同一页面中使用 2 个编辑器时,会出现此错误...
我使用 PHP 从数据库加载内容。如果设置了 $_POST,我会从特定的 $_POST 值加载内容。
该代码仅适用于 1 个 textarea-ckeditor,当我使用 2 个不同的编辑器时出现此错误时出现问题:未捕获错误:元素不支持指定的元素模式:“meta”。
<div class="form_group col-md-12 col-sm-12 col-xs-12">
<label class="formlabel">Body</label><br>
<?php if(isset($_POST['body'])){ ?>
<textarea class="ckeditor" name="body"> <?php echo $_POST['body']; ?> </textarea>
<script>
CKEDITOR.replace( 'body' ,{
filebrowserBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserUploadUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserImageBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=1&editor=ckeditor&fldr='
});
</script>
<?php } else { ?>
<textarea class="ckeditor" id="ckeditorb" name="body" value="<?php echo nl2br(htmlspecialchars($art['BODY']));?>" ></textarea>
<?php $body_content=json_encode(utf8_encode($art['BODY'])); ?>
<script>
CKEDITOR.replace( 'body' ,{
filebrowserBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserUploadUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserImageBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=1&editor=ckeditor&fldr='
});
CKEDITOR.instances.ckeditorb.setData(<?php echo $body_content; ?>, function(){
this.checkDirty(); // true
});
</script>
<?php } ?>
<?php if(isset($error['body']) && !empty($error['body'])){
echo $error['body'];
} ?>
</div>
<div class="form_group col-md-12 col-sm-12 col-xs-12">
<label class="formlabel">Description</label><br>
<?php if(isset($_POST['description'])){ ?>
<textarea class="ckeditor" name="description" id="descripcion_1"> <?php echo $_POST['description']; ?> </textarea>
<?php $content=json_encode(utf8_decode($_POST['DESCRIPTION'])); ?>
<script>
CKEDITOR.replace( 'description' ,{
filebrowserBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserUploadUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserImageBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=1&editor=ckeditor&fldr='
});
CKEDITOR.instances.descripcion_1.setData(<?php echo $content; ?>, function(){
this.checkDirty(); // true
});
</script>
<?php } else { ?>
<textarea class="ckeditor" id="descripcion_2" name="description" value="<?php echo $art['DESCRIPTION']; ?>" ></textarea>
<?php $content=json_encode(utf8_decode($art['DESCRIPTION'])); ?>
<script>
CKEDITOR.replace( 'description' ,{
filebrowserBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserUploadUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
filebrowserImageBrowseUrl : '../ResposiveFilemanager/filemanager/dialog.php?type=1&editor=ckeditor&fldr='
});
CKEDITOR.instances.descripcion_2.setData(<?php echo $content; ?>, function(){
this.checkDirty(); // true
});
</script>
<?php } ?>
<?php if(isset($error['description']) && !empty($error['description'])){
echo $error['description'];
} ?>
</div>
我遇到了同样的问题。它与 textarea:description 的名称相关,因为有一个同名的元标记。一旦你更改了文本区域的名称,它就会起作用。
ckeditor插件将读取名称为description的标签。如果您有任何带有描述名称的元标记,请删除元标记,ckeditor 将在您带有描述名称的文本区域上工作。