为什么cke编辑器总是将cke添加到我的embed,object,param ..?

时间:2014-09-29 05:02:29

标签: ckeditor

这是我的剧本:

CKEDITOR.replace(
    'editor1', {
       "filebrowserImageUploadUrl": "<?php echo config_item('instMasterUrl').'imgupload' ;?>"
    }
);

with:

config.extraAllowedContent  = 'div[id]; object[id,name,width,height];'+
'param[name,value];embed[src,type,allowscriptaccess,allowfullscreen,wmode,width,height]';

从youtube发布一个视频时这样:

<object width="560" height="315">
    <param name="movie" value="//www.youtube.com/v/znK652H6yQM?hl=id_ID&amp;version=3&amp;rel=0"></param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param>
    <embed src="//www.youtube.com/v/znK652H6yQM?hl=id_ID&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>

ckeditor总是添加cke:在开头变为:

<cke:object width="560" height="315">
    <cke:param name="movie" value="//www.youtube.com/v/znK652H6yQM?hl=id_ID&amp;version=3&amp;rel=0"></cke:param>
    <cke:param name="allowFullScreen" value="true"></cke:param>
    <cke:param name="allowscriptaccess" value="always"></cke:param>
    <cke:embed src="//www.youtube.com/v/znK652H6yQM?hl=id_ID&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></cke:embed>
</cke:object>

到现在为止,我无法打开闪光灯.. 如何防止cke将该前缀添加到我的代码中?

2 个答案:

答案 0 :(得分:1)

首先,如果你想插入flash,你应该安装flash plugin

其次,我问你如何获取数据以排除访问CKEditor内部的可能性,因为那不是数据。您可以通过editor.getData()或提交表单获得数据。编辑内部是一个完全不同的故事。

第三,即使启用了Flash插件,您也不会在编辑器中看到flash,而只是占位符。如果你期望有不同的行为,你需要寻找一个不同的插件 - 可能是一个用于插入Youtube视频,或者一些用于插入Youtube视频。查看addons repository

答案 1 :(得分:1)

默认情况下,CKEditor会保护object / param / embed标记。为防止它更改您的embed标记,当CKEditor加载这些标记时,您必须为该元素使用CKEDITOR.FILTER_SKIP_TREE。如果您使用插件插入嵌入式媒体,最好根据http://docs.ckeditor.com/#!/api/CKEDITOR.filter编写editor.filter.addElementCallback