Chrome浏览器调用ActiveX控件--allWebOffice控件

背景

allWebOffice控件能够实现在浏览器窗口中在线操作文档的应用(阅读、编辑、保存等),支持编辑文档时保留修改痕迹,支持书签位置内容动态填充,支持公文套红,支持文档保护控制等诸多办公功能,本文将介绍allWebOffice控件通过allWebPlugin中间件如何在Web系统中使用–只需三步,即可看到插件运行效果。

准备工作

1、下载allWebPlugin中间件产品,具体如下:

链接:百度网盘 请输入提取码
提取码:z3q0

如下图所示,下载allWebPlugin_x86_v2.0.0.20_stable_20240927.zip安装包。

下载界面

allWebPlugin中间件集成allWebOffice控件步骤

第一步:导入js相关文件

导入jquery.min.js,allWebPlugin.Common.js,allWebPlugin.UI.js文件。

 <script type="text/javascript" src="js/jquery.min.js"></script>
 <script type="text/javascript" src="js/allWebPlugin.Common.js"></script>
 <script type="text/javascript" src="js/allWebPlugin.UI.js"></script>  

第二步:替换页面元素代码

将网页中元素替换成元素。如下图所示:

<tr>
<td valign="top"  border="1" style="width:100%;height:100%">
<!--设置宽高大小,创建插件时,bFixSize 为true,如:hostCnt.createContainer(canvas,"PluginContainer",license,true)-->
<!--canvas id="pluginUI" width="1024" height = "768">
<p class="error">Sorry, It looks as though your browser does not support the canvas tag.</p>
</canvas-->
<!--百分比控制大小,创建插件时,bFixSize 为false,如:hostCnt.createContainer(canvas,"PluginContainer",license,false)-->
<canvas id="pluginUI" style="width:100%;height:100%">
<p class="error">Sorry, It looks as though your browser does not support the canvas tag.</p>
</canvas>
</td>
</tr>

第三步:拷贝控件创建方法

拷贝控件创建方法CreateContainer及CreatePlugin,将其放到网页onload事件里面,方便页面加载时,创建控件对象。其中createProxyPlugin方法创建控件对象,需要传入控件的classid或者ProgID。

function CreateContainer(){
	var canvas = document.getElementById('pluginUI');
	var license = "9y4LEm/V6Su9+CP9ION3CqBZzsnSyJW2BIOmkgGdrKd6LsGVXCWlcRBxGfVF1XOPzC9WxlN0wrsQJJzy/Sb5YUhnxibuGY6cwTXP6MALEUEQFzXbytCCYZ8yuWbKwaSdWw5/nsk02HtT/EqxC9jsQEwXfCiLGpeyww5MszBO4EV6/Whk4dpno9z1IP+gYlZ5emPuZWPcA0xfdPfMd8CdZ7O2Y1kH4iqJRcUDZpZLQZzRaaxD4GC6rmYjAT+0hOxf741S1EV6EjTzdZdllR2Gc3/ho/O+lqeG77Lq/sI7eGuRrB92QT4P/dmWmDpM0Qg9AAAA8AEAAQMCpzvCVYrodJHnQlzcchghAVhG8HkPd/M3WbD7ikYNYSMNpadQHw22md/os+H8in1qcUBIUHlshxFEKT84jEPIP39iTN7E4IqEACvPF8duWkErP8vRvrSSxA67jQEesJV2RkXphVUw20qAYDXse5UBsLuIlpsfae59Q3VuDFyGZ9K7Rj3fGG7lMrQxhNPj0IkDKfsa/4S2vDl43A4JLdGE8PyHMOxOGWIBwAzTQvOIA2gT2bC8bUP2HnHz//04r8CZ848wnMgZ8ifdtBGgPIIvhvhNvdHNW3d7GDWIFz7migklvNukCsVNhNjck73Co8JMQppp5n4RY5Ck0DdBVe1iogABAYICCgGCMEGy6w+KRf1qX5NoDdyEKnrHfuE5hco4f/fwKsNo3Dwo1sUFB9hbxusOUSAAyYDfvQWc4CdxoSf7kM4ojInlHHvTw0ppKCFV7H17iDOXdJFKZmkjeFCeubn3VezepCvW1+Z9s84M2uILZgIGw7eIQ/je0Bz+qEWyiqWbA4QYiTHzUwQtZyntNcqYpS0PxXXmV9I21wh48DIV/9DTeZW5OZwRcHivVXFaqW2uxngqGdbw1xyJ9AMhrGdt9S2R2rd1jzNq7ddiKN09TCt806vlF1zGAxb5zq6WjwPxeG7aoE33cTRnEg5WvNM4puhmYOWYi61D8j8lzXheUCJGpsw39CoAAAEOAAAAAUFXUEY=";	
	var installPackageUrl = "http://127.0.0.1:6651/install/allwebPlugin_x86_v2.0.1.16_20240806.exe";
	var installPackageVersion = "2.0.0.16";	
	hostCnt = new PluginHostCnt();
	if(hostCnt.IsInstall() == false){
		//未安装,需要手动安装
		if(confirm("allWebPlugin中间件未安装或未启动,是否立即安装?")){
			window.open(installPackageUrl, '_blank');
		}
	}else{
		//已安装,检测是否需要版本更新
		if(hostCnt.IsNewVersion(installPackageVersion) == false)
		{
			if(hostCnt.createContainer(canvas,"PluginContainer",license,true) == true)
			{	
				//hostCnt.UI.ForceShowUI(false);//创建时隐藏插件,需要调用这句,隐藏插件
				hostCnt.RegisterEvent("OnCreated;OnCommand;OnRibbonCtrlCommand;OnOLECommand");
				CreatePlugin();
			}
		}else{
			//需要升级
			alert("检测到升级包,立即升级。");
			hostCnt.UpdateVersion(installPackageUrl).then(function(data){
				if(data.code == 0)
				{	//检测是否安装成功
					var checkInstall = setInterval(function(){
						if(hostCnt.GetVersion() == installPackageVersion){
							window.location.reload();
							clearTimeout(checkInstall);
						}
					}, 1000);
					
				}
				else{
					window.open(installPackageUrl, '_blank');//直接下载包,手动安装
				}
			}).catch(function(strErr){
				window.open(installPackageUrl, '_blank');//直接下载包,手动安装
			});
		}
	}
}

function CreatePlugin(){
	if(hostCnt == null)
		return;
	obj = hostCnt.createProxyPlugin("{6888ECA8-57D0-6E0E-9B9B-F1FF9B2DBD86}");//allWebOffice控件
}

第四步:运行效果

到此,allWebOffice控件就集成完了。运行Chrome、Edge浏览器运行效果如下:

allWebOffice控件在Chrome浏览器效果图

allWebOffice控件在Chrome浏览器效果图

allWebOffice控件在Firefox运行效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/935737.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ESXI6.7开启SSH密码通过Xshell登录

背景 近期服务器安装了ESXI6.7&#xff0c;想通过SSH到终端把/var/log/下的所有日志文件下载下来 解决方案 1、esxi开启ssh登录 2、选择Troubleshooting Options 3、开启SSH 4、打开ESXi的web页面&#xff0c;设置开启shell 5、使用Xshell连接&#xff0c;方法一定要勾选Keybo…

Vue宏观理解

文章目录 1 Vue是什么2 前端运行环境和工具3 环境搭建3.1 node.js安装3.2 Vite环境安装 4 Vue项目开发4.1 Vue项目开发开发方式4.2 Vue项目结构4.3 启动Vue项目4.4 Vue开发4.4 Vue工程运行流程 1 Vue是什么 Vue是一款Web前端JavaScript 框架&#xff1b; 官网&#xff1a;http…

Redis安装和Python练习(Windows11 + Python3.X + Pycharm社区版)

环境 Windows11 Python3.X Pycharm社区版 思路 1 github下载redis压缩包 &#xff0c;安装并启动redis服务&#xff0c;在客户端连接redis服务。 2 在pycharm中运行python程序&#xff0c;连接redis服务&#xff0c;熟悉redis的使用和巩固python语言。 3 python开发环境…

Alan Chhabra:MongoDB AI应用程序计划(MAAP) 为客户提供价值

MongoDB全球合作伙伴执行副总裁 Alan Chhabra 每当有人向我问询MongoDB&#xff0c;我都会说他们很可能在不觉之间已经与MongoDB有过交集。事实上&#xff0c;包括70%财富百强在内的许多世界领先企业公司都在使用MongoDB。我们在MongoDB所做的一切都是为了服务客户&#xff0c…

蓝桥杯历届真题 --#递推 翻硬币(C++)

文章目录 思路完整代码结语 原题链接 思路 通过观察测试用例&#xff0c;我们猜测&#xff0c;从左到右依次对比每一个位置上的状态&#xff0c;如果不一样我们就翻一次&#xff0c;最终得到的答案即为正解。 完整代码 //这里是引入了一些常用的头文件,和一些常规操作 //第一…

vs配置c++标准

在 vcxproj 文件中添加 <LanguageStandard>stdcpp17</LanguageStandard> 和在 Visual Studio 属性页面中设置 “C语言标准” 为 “ISO C17 标准 (/std:c17)” 是完全等价的。 它们的对应关系是&#xff1a; VS属性页面中的设置&#xff1a; 项目 -> 属性 ->…

机器人构建详解:售前售后服务客服机器人与广告生成机器人的微调数据处理方法

引言 大模型&#xff08;如BERT、GPT等&#xff09;在自然语言处理任务中展现了强大的能力&#xff0c;但为了使其更贴合特定应用场景&#xff0c;通常需要进行微调。本文将详细讲解如何为售前售后服务的客服机器人和广告生成机器人准备高质量的微调数据&#xff0c;并通过具体…

R学习——因子

目录 1 定义因子&#xff08;factor函数&#xff09; 2因子的作用 一个数据集中的 只需要考虑可以用哪个数据来进行分类就可以了&#xff0c;可以用来分类就可以作为因子。 Cy1这个因子对应的水平level是4 6 8&#xff1a; 1 定义因子&#xff08;factor函数&#xff09; 要…

计算机毕设-基于springboot的口腔诊所系统的设计与实现(附源码+lw+ppt+开题报告)

博主介绍&#xff1a;✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围&#xff1a;Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…

【ComfyUI+视频生成】LTX-Video 快速生成视频 + 图生视频 (生成4秒 3090需要20秒)

代码&#xff1a;https://github.com/Lightricks/LTX-Video comfyui官方工作流&#xff1a;https://comfyanonymous.github.io/ComfyUI_examples/ltxv/ 官方模型&#xff1a;https://huggingface.co/Lightricks/LTX-Video 工作流下载&#xff1a;https://pan.baidu.com/s/1g9Y…

axios的引入和基本使用

一、axios的引入 使用 pnpm add axios 二、使用axios 三、axios的使用方法补充 axios除了直接使用它实例上的方法&#xff0c;还可以通过配置的方式进行使用axios({})&#xff0c;传入一个对象&#xff0c;这个对象可以有如下属性&#xff1a; url&#xff08;字符串&#…

【蓝桥杯最新板】蓝桥杯嵌入式液晶上实现电子时钟

这几年蓝桥杯比赛比较适合学生技能学习&#xff0c;考虑板子功能&#xff0c;提出完成的任务。 要求在液晶完成如下图效果&#xff1a; 主要是实现液晶显示时钟和数字时钟&#xff0c;具体样式可以依据实际情况微调。 实现过程&#xff1a; 1.需要画圆&#xff08;外圆、内圆…

JavaScript 写css的内联样式

一、使用style属性-直接设置单个 CSS 属性 // 获取元素 var element document.getElementById("myElement");// 设置样式 element.style.color "red"; element.style.backgroundColor "blue"; element.style.fontSize "20px"; 二…

Linux系统操作03|chmod、vim

上文&#xff1a; Linux系统操作02|基本命令-CSDN博客 目录 六、chmod&#xff1a;给文件设置权限 1、字母法 2、数字法&#xff08;用的最多&#xff09; 七、vim&#xff1a;代码编写和文本编辑 1、启动和退出 1️⃣启动 2️⃣退出 2、vim基本操作 六、chmod&#x…

AndroidStudio配置aar包的依赖方式

创建本地仓库文件夹和aar文件夹 创建本地仓库文件夹LocalRepo&#xff0c;文件夹名称可以自定义。在LocalRepo文件夹下为每一个aar单独创建文件夹&#xff0c;如下所示。aar包就放在各自的文件夹下。请注意一个aar文件夹下只能放置一个aar。 配置build.gradle文件 在aar文件…

数据分析python小工具录入产品信息到Excel

在没有后台管理系统的时候&#xff0c;有时候为了方便起见&#xff0c;想提供一个输入框让运营人员直接输入&#xff0c;然后数据就会以数据库的形式存进数据库 效果图&#xff1a; 输入用户名 输入数据 输入信息后点击添加到表格&#xff0c;检查后方便批量保存到excel …

数据结构 (35)分配类排序

前言 分配类排序是数据结构中的一种重要排序方法&#xff0c;其核心思想是利用分配和收集过程对元素进行排序&#xff0c;而无需比较元素之间的关键字。这种方法突破了基于关键字比较的排序算法的时间下界&#xff0c;可以达到线性时间复杂度O(n)。 一、分配类排序的基本概念 分…

sftp+sshpass

实现场景&#xff0c;要求客户端定时将本地的日志文件传输到服务器。 工作环境ubuntu&#xff0c;注意不通操作系统的版本不通&#xff0c;依赖的工具的版本也有所不同 实现目标需要客户端满足安装工具&#xff1a; 1、下载安装sshpass ---安装命令&#xff1a;sudo apt-ge…

Java 环境配置 + IntelliJ IDEA 使用指南

文章目录 一、Java 程序的运行必须经过3 个步骤&#xff1a;编写、编译、运行&#xff08;1&#xff09;Java 和 JavaScript 的区别&#xff08;2&#xff09;JDK、JRE、JVM 的关系&#xff08;3&#xff09;是否需要 Maven&#xff1f; 二、软件下载2.1、JDK下载与安装 —— 是…

013路由协议-OSPF

OSPF具有更适用于规模较大的网络环境&#xff0c;收敛更快速、依据带宽来计算路径成本等。 计算方式&#xff1a; 100M/当前端口的带宽 如果小于1就按照1来计算 例如&#xff1a; 当前端口的带宽是1.54M 路径成本 100/1.54 65 当前端口的带宽是 1000M 路径成本 100/100 0.…