平台默认的附件查看功能只能查看附件上传的,如果不是附件上传,自己从第三方传过来的地址或者自己服务端的office就不能用附件,可以参考下面的方式实现用ocx打开查看
1.js定义的define中引用
var officeViewer = require('$UI/system/components/justep/docCommon/officeViewer'); var $OV = officeViewer.$OV; var OV = officeViewer.OV;
2.在.w中定义一个div
<div xid="officeViewer" />
3.在div中创建ocx并打开文件
var url ="http://192.168.1.97:8080/x5/UI2/appdemo/test/process/attachmentEditor2/aaa.doc"; var divID = this.getIDByXID("officeViewer"); var ocxID = divID + "_ocx"; if (!$(".officeViewr").length>0) { $("#" + divID).append(' <div class="officeViewr" style="overflow:hidden;width:100%;height:500px;"> <div style="overflow:auto;width:100%;height:100%;" id="' + ocxID + '"></div> </div> '); } $('#'+ocxID).attr('showToolbar',false);//隐藏工具栏 $OV(ocxID).CreateOfficeViewer('100%', '100%'); var officeObj = $OV(ocxID); officeObj.ShowMenubar(false);//隐藏菜单栏 if(!officeObj.isOpened()) officeObj.Open(url); else return;
如果url中文件名是中文要注意转码,如下:
评一波