单独调用FCKeditor上传功能

1. 新建 editor.js

var fkc_editor_instance = null;
function FCKeditor_OnComplete(editorInstance){
        fkc_editor_instance = editorInstance;
        fkc_editor_instance._callback = function(value){
                if(this.CommandName == 'Image'){
                        var target = GetE(this.CommandTarget);
                        if(target){
                                target.value = value;
                        }
                }
                this.CommandName = null;
        }
        function GetE(el){
                return typeof(el) == 'string' ? document.getElementById(el) : el;
        }
}
function FCK_ExecuteCommand(commandName, target){
        if(!fkc_editor_instance) return;
        fkc_editor_instance.CommandName = commandName;
        fkc_editor_instance.CommandTarget = target;
        fkc_editor_instance.Commands.GetCommand(commandName).Execute();
}
function FCKEdit(path,toolbar,container){
        var con = document.getElementById(container);
        var oFCKeditor = new FCKeditor(container);
        oFCKeditor.ToolbarSet = toolbar;
        oFCKeditor.BasePath = path;
        oFCKeditor.Width = parseInt(con.offsetWidth);
        oFCKeditor.Height = parseInt(con.offsetHeight);
        oFCKeditor.ReplaceTextarea(); 
}

 

 

 2. 打开 fckeditor\dialog\fck_image\fck_image.js

 查找

var bHasImage = ( oImage != null ) ;

 

 替换为

if (parent.parent.fkc_editor_instance && parent.parent.fkc_editor_instance.CommandName){
	parent.parent.fkc_editor_instance._callback(GetE('txtUrl').value);
	return true;
}
var bHasImage = ( oImage != null ) ;

 注:如果是使用iframe框架,需将“parent.parent.”改为“parent.parent.document.frames('框架名').”。

 

3. 调用

<script type="text/javascript" src="fckeditor/fckeditor.js"></script>
<script type="text/javascript" src="Script/editor.js"></script>
<form method="post">
        <input id="picture" type="text" name="picture" />
        <input type="button" value="上传" onclick="javascript:FCK_ExecuteCommand('Image','picture');" />
        <br />
        <textarea id="content" name="content" style="width:580px;height:350px;"></textarea>
        <!--// 初始化fck //-->
        <script>FCKEdit('/fckeditor/','Baisc','content');</script>
</form>

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(JavaScript,框架,fckeditor)