下载

官网地址:http://www.goldgrid.com/jinge_download/index.aspx?num=5

  • 解压后的文件
  • js文件中有两个重要的js文件iWebOffice2015.jsWebOffice.js
  • WebOffice.js是WebOffice2015对象的一些方法。
  • iWebOffice2015.js是根据不同的浏览器环境来渲染<object>

实现

iWebOffice2015.jsWebOffice.js放入static目录下

index.html中引入WebOffice.js

修改iWebOffice2015.js

  • 官网iWebOffice2015.js源文件在下面截图处少了一个闭合标签,如下图添加
  • 由于异步加载不允许使用document.write方法,这里注释掉document.write(str)

  • 【可选操作】,注释浏览器判断,这里由于未写入文档流,所以获取一些属性是出错的,如document.getElementById("WebOffice").type,注释掉就可以

/*注释以下代码*/
/*if ((window.ActiveXObject != undefined) || (window.ActiveXObject != null) || "ActiveXObject" in window) {} else {if (browser == "firefox") {if(version < "52"){var fireFoxType = navigator.mimeTypes["application/kg-activex"];if (fireFoxType == undefined) {document.getElementById("WebOffice").width = "1px";var str='<div width="100%" height="100%" style="text-align:center; color: red;font-size:30px;" >该插件不受支持</br>点击跳转解决方案</div>';var t = document.getElementById("OfficeDiv");t.innerHTML = t.innerText + str;}}else{document.getElementById("WebOffice").width = "1px";var str='<div width="100%" height="100%" style="text-align:center;color: red;font-size:30px;" >该插件不受支持</br>请更换52版本以下的FireFox浏览器</div>';var t = document.getElementById("OfficeDiv");t.innerHTML = t.innerText + str;}}else if(browser == "chrome"){var kgchromeType = navigator.mimeTypes["application/kg-plugin"]; //高级版var chromeType = navigator.mimeTypes["application/kg-activex"]; //标准版var oldChromeType = navigator.mimeTypes["application/iWebPlugin"]; //早期淘汰版本if(document.getElementById("WebOffice").type == "application/kg-plugin"){if (kgchromeType == undefined) {document.getElementById("WebOffice").width = "1px";var str='<div width="100%" height="100%" style="text-align:center; color: red;font-size:30px;" >该插件不受支持</br>引用的是高级版控件</br></div>';var t = document.getElementById("OfficeDiv");t.innerHTML = t.innerText + str;//window.open("Faq002.html");}  }else{if(version > "45"){if (chromeType == undefined || oldChromeType == undefined) {document.getElementById("WebOffice").width = "1px";var str='<div width="100%" height="100%" style="text-align:center;color: red;font-size:30px;" >该插件不受支持</br>引用的是标准版控件</br></div>';var t = document.getElementById("OfficeDiv");t.innerHTML = t.innerText + str;}  }else{document.getElementById("WebOffice").width = "1px";var str='<div width="100%" height="100%" style="text-align:center;color: red;font-size:30px;" >标准版插件不受支持</br>请更换45版本以下的Chrome浏览器</br>如果需要使用高版本Chrome浏览器,需集成高级版插件</div>';var t = document.getElementById("OfficeDiv");t.innerHTML = t.innerText + str;}}}
}
*/
  • iWebOffice2015.js末尾将拼接好的字符串暴露出来

代码示例

  • vue文件中import引入iWebOffice2015.js
  • initWebOffice通过创建vue实例手动挂载来渲染<object>,将刚才暴露出来的<object>加载到office
  • initWebOfficeObject中的关键点是this.webOfficeObj.CreateFile(),创建一个空白的文档
<template><div style="width:100%;height:100%;"><div id="office"></div></div>
</template>
<script>import Vue from 'vue';import webOfficeTpl from '../../../../../static/webOffice/iWebOffice2015.js';export default {data() {return {webOffice: null,webOfficeObj: null}},beforeCreate(){},mounted(){console.log(webOfficeTpl);this.$nextTick(() => {this.initWebOffice();this.initWebOfficeObject();})},beforeDestroy() {},methods: {initWebOffice() {this.webOffice = new Vue({template: webOfficeTpl}).$mount('#office');},initWebOfficeObject() {this.webOfficeObj = new WebOffice2015();this.webOfficeObj.setObj(document.getElementById('WebOffice'));try{//this.webOfficeObj.ServerUrl = "http://www.kinggrid.com:8080/iWebOffice2015/OfficeServer";//this.webOfficeObj.RecordID = "1551950618511";  //RecordID:本文档记录编号this.webOfficeObj.UserName = "XXX";this.webOfficeObj.FileName = "Mytemplate.doc";this.webOfficeObj.FileType = ".doc"; //FileType:文档类型  .doc  .xlsthis.webOfficeObj.ShowWindow = false; //显示/隐藏进度条this.webOfficeObj.EditType = "1"; //设置加载文档类型 0 锁定文档,1无痕迹模式,2带痕迹模式this.webOfficeObj.ShowMenu = 1;this.webOfficeObj.ShowToolBar = 0;this.webOfficeObj.SetCaption(this.webOfficeObj.UserName + "正在编辑文档"); // 设置控件标题栏标题文本信息//参数顺序依次为:控件标题栏颜色、自定义菜单开始颜色、自定义工具栏按钮开始颜色、自定义工具栏按钮结束颜色、//自定义工具栏按钮边框颜色、自定义工具栏开始颜色、控件标题栏文本颜色(默认值为:0x000000)if (!this.webOfficeObj.WebSetSkin(0xdbdbdb, 0xeaeaea, 0xeaeaea, 0xdbdbdb, 0xdbdbdb, 0xdbdbdb, 0x000000)) {alert(this.webOfficeObj.Status);}    //设置控件皮肤if(this.webOfficeObj.WebOpen()) {// StatusMsg(WebOfficeObj.Status);}this.webOfficeObj.AppendMenu("1","打开本地文件(&L)");this.webOfficeObj.AppendMenu("2","保存本地文件(&S)");this.webOfficeObj.AppendMenu("3","-");this.webOfficeObj.AppendMenu("4","打印预览(&C)");this.webOfficeObj.AppendMenu("5","退出打印预览(&E)");this.webOfficeObj.AddCustomMenu();this.webOfficeObj.HookEnabled();this.webOfficeObj.CreateFile() // 根据FileType设置的扩展名来创建对应的空白文档}catch(e){console.log("catch");console.log(e.description);}}}}
</script>
<style lang="less"></style>
  • 通过控制台可查看<object>

效果

参考文章:vue项目如何集成金格WebOffice2015,集成的过程中借鉴了该篇博客中的实现思路,遇到问题的童鞋可参考这篇博客

注:遇到错误可参考

  • 如浏览器打开提示不支持插件,先核实是否安装了iWebOfiice2015.msi,如已安装,打开这里的企业应用浏览器进行测试
  • 启动KGPMSYS服务

转载于:https://www.cnblogs.com/maggieq8324/p/11416851.html

vue项目集成金格WebOffice2015相关推荐

  1. UNI-APP/VUE 项目集成 微信SDK /微信开放标签 教程和避坑指南(下)——微信开放标签篇

    UNI-APP/VUE 项目集成 微信开放标签 教程和避坑指南 文章同步发布于

  2. vue项目集成乾坤(qiankun)微前端

    vue项目集成qiankun微前端 集成乾坤微前端主应用: 1.安装 2.main.js中进行配置 3.配置路由 4.将主应用路由模式设置为history模式 子应用中配置(子应用无需安装乾坤) 1. ...

  3. UNI-APP/VUE 项目集成 微信SDK /微信开放标签 教程和避坑指南

    UNI-APP/VUE 项目集成微信SDK教程和避坑指南 文章同步发布于

  4. 金格浏览器linux,vue项目如何集成金格WebOffice2015

    关于金格WebOffice2015是什么就不说了,可以自行百度下,最近在调研这个东西,所以下了试用版集成到vue项目使用. 金格的说明文档写的很模糊,看完还是不知其所以然.下面就具体说下WebOffi ...

  5. Vue项目集成LivePlayer播放器

    文章目录 前言 1.安装 2.vue.config.js添加配置 3.index.html页面添加配置 4.页面中使用 前言 LivePlayer播放器是一款在视频监控行业应用较为广泛的开源视频播放器 ...

  6. vue项目集成腾讯滑块验证

    项目中需要用到滑块验证,比如说本博客中的留言评论功能,可以使用腾讯的滑块验证,接下来看操作! 首先需要获取腾讯云的CaptchaAppId 可以参考腾讯云图形验证的使用文档. 第一步:登录腾讯云,打开 ...

  7. Vue项目集成Markdown标记语言编辑器(MavonEditor)

    文章目录 前言 一.可用的Markdown集成技术 二.使用步骤 1.安装mavonEditor包 2.导入并使用mavonEditor 3.官方API 总结 前言 Markdown是一种标记语言,相 ...

  8. vue项目集成iconfont 图标

    引入阿里iconfont 图标 首先我们打开 iconfont官网,注册登录之后点击导航栏上的图标管理 - 我的项目: 进入项目之后,点击新建项目 随便添加一个图标到新建好的项目中,并且生成 CSS ...

  9. vue项目集成stomp.js接收artemis消息推送

    这里写目录标题 1.安装依赖 2. 新建连接需要的配置文件linkparam.js文件 3.在所需要的vue页面引入 4.在组件中应用stomp.js 5. 创建成功 1.安装依赖 npm insta ...

  10. Vue项目集成mavonEditor编辑器

    1.安装mavonEditor npm install mavon-editor --save 2.main.js配置 import mavonEditor from 'mavon-editor'; ...

最新文章

  1. [js] MD5算法
  2. “IIS配置401错误”完美解决方案
  3. plsql 循环存储过程返回数据集合_Java基础(十五)——Collection集合、泛型 - 寒江雨
  4. 常用数据挖掘算法简介
  5. 将web项目导入到eclipse/MyEclipse中常见错误
  6. 如何在Web应用程序中使用TWAIN驱动程序的自定义功能?
  7. 录制出来的是黑屏_打开好哈录屏或者OBS直播软件黑屏问题解决,亲测有效!
  8. sift+图像匹配 算法
  9. vba 定义类_VBA中类的介绍及应用简介
  10. Oracle 游标范例
  11. VMware Workstation 无法与 Windows XP \ Windows 7 \ Windows 8 进行共享文件夹。
  12. postman下载安装汉化及使用
  13. SecureCRT 不能输入命令及回车键不能用
  14. 自制Openerp图表
  15. 暂存更改 切换分支 git
  16. 怎么恢复苹果手机通讯录
  17. 【读者来信】培训完没有类似的工作经验,该如何找工作?
  18. mysql视图 实验报告_数据库实验报告(视图).doc
  19. 深度学习中常见的损失函数(L1Loss、L2loss)
  20. 错误解决:failed calling webhook “dec-autonomy.xxx.io“: failed to call webhook:post

热门文章

  1. Halcon条形码识别
  2. Eclipse从零开始搭建一个SpringBoot项目
  3. HBuilder开发App教程
  4. 用网页服务器实现钢琴弹奏(使用Wizwiki-W7500)
  5. 自制卡牌游戏Python
  6. Hi,你有一封来自 Googlers 的邀约
  7. ChemDraw怎么激活?ChemDraw激活教程
  8. 一个30岁转行程序员的心路历程
  9. 【STM32H7教程】第93章 STM32H7的SPI总线应用之驱动ADS1256(8通道24bit ADC, 增益可编程)
  10. CryEngine ViewMat