有思俱乐部学习园地

Word打开接口

案例尝试前提:

           需要载入以下js,css调用user的UI方法,才可以进行使用
           <script type="text/javascript" charset="utf-8" src="http://www.1473.cn/uform.js "></script>
           <link href="http://www.1473.cn/css/Disk/Disk.css" rel="stylesheet" type="text/css">
           <script src="http://disk.1473.cn/js/Disk/Disk.js" type="text/javascript"></script>
            

代码解释:

                
//#region word创建,打开。

/**
* Word打开 之前通过第二个参数是guid进来的全部都要改
*
* @param   {object}    登录用户信息  
* @param   {object}    文档信息数组,如果为空,则创建空文档。
* @return  {object}    返回当前窗体 
*/
U.MD.O.word = function (userinfo, fileinfo, cb) {
    var _contentel,
        _fileid,
        _formel,
        _child
    ;
    //获取文档的id
    if (fileinfo && fileinfo.UserDirectoryID) {
        _fileid = fileinfo.UserDirectoryID; //获取文件id
    }
    if (!_fileid) { //第一次打开的文档的处理
        _fileid = Guid.newGuid();
        var _type = fileinfo.UserDirectoryExtendType;
        fileinfo = { "UserDirectoryID": _fileid, UserDirectoryExtendType: _type };
        if (_type == "un") {
            fileinfo.UsOffice = U.A.Request(US.CD, ([US.DB, "UseStudio_Disk", "GetFileContent", "6a8a235a-41c4-c3d2-8dd5-b6ee851e1967"])).value[0].UsOffice.unEscapeQuotes();
        }
        else {
            fileinfo.UsOffice = U.A.Request(US.CD, ([US.DB, "UseStudio_Disk", "GetFileContent", "d17a2910-11ba-df39-cd8a-5cac851c2148"])).value[0].UsOffice.unEscapeQuotes();
        }
        fileinfo.newfile = true;
    }
    //得到弹窗
    _formel = $("#UD_Word" + _fileid)[0];
    //未打开的创建加载处理
    if (!_formel) {
        //创建新窗口
        _contentel = $("#UD_Word").clone(true); //克隆word编辑器 包含头部菜单和功能及word编辑区域
        _child = $(_contentel[0]).Child(); //头部的区域
        _formel = new U.UF.UI.form(
              _child[0],
            _child[1],
            { "id": "UD_Word" + _fileid, "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
                "onresize": function () { }
            },
            { closecallback: function () {
                U.A.Request(US.SCOKET, ["quitOffice", JSON.stringify({ docId: fileinfo.UserDirectoryID, pageId: US.pageId, userId: top.US.userInfo.UserId, type: fileinfo.UserDirectoryExtendType == 'un' ? 'nav' : 'word' })], function (r) {
                    //                    console.log('退出文档');
                });
            }
            },
            { "style": { "height": "36px"} }).form; //创建窗体
        U.MD.O.header(userinfo, _child[0], fileinfo); //创建header头部
        U.UF.DL.loading(_child[1]); //添加loading处理
        //添加编辑区域,异步加载iframe并执行回调
        U.MD.O.officeLoad(_child[1], "Word", function (iframe) {
            iframe.contentWindow.U.MD.O.W.load(fileinfo, userinfo); //word的处理
            iframe.id = "UD_EditingArea";
            $('#UD_Word' + _fileid + ' .U_MD_O_H_head_navigation_Title')[0].onchange = iframe.contentWindow.U.MD.O.W.updateName;
            //打开word成功后执行回调
            if (U.UF.C.isFunction(cb)) {
                cb(iframe.contentWindow);
            }
            U.UF.DL.uploading(_child[1]); //移除loading处理

        }); //创建Office编辑器 

    }
    //如果已经打开过的,直接置顶
    else {
        $('iframe', _formel)[0].contentWindow.U.MD.O.W.load(fileinfo, userinfo);
        U.UF.F.windowTopCenter(_formel);
    }
    return [_formel, fileinfo]; // 返回当前窗体
}

                

案例尝试

                 
                  U.UF.CD.loadPageCrossDomain(function () { U.MD.U.L.login(function () { U.MD.O.word("d776d5a8-b69a-4f17-b294-27fb61589acd","d17a2910-11ba-df39-cd8a-5cac851c2148"); }) });
                 
             

工作人员

 
作者:刘志辉
信息录入:刘志辉