最新版Edge浏览器集成ActiveX控件之金山WpsDocFrame控件

  背景

        WpsDocFrame控件‌是由金山公司开发的ActiveX控件,主要用于OA系统中,支持在浏览器中嵌入WPS文档的查看和编辑功能。

        allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品致力于将浏览器插件重新应用到所有浏览器。它不仅可以实现ActiveX控件在现代浏览器上使用,而且集成也非常方便。

        WpsDocFrame控件通过allWebPlugin中间件,可以方便的实现在Chrome、火狐、Edge等Web浏览器上应用。

alWebPlugin中间件核心优势

1、自创定位算法,实现插件与页面布局无缝衔接,极致用户体验
2、自创插件接口调用方法,保持原汁原味的接口调用及事件响应方式,轻松实现OA系统升级改造
3、支持同一页面或不同页面同时加载多个插件,适应各种复杂应用场景
4、自主创新、安全可控,不受浏览器插件技术限制,支持更多浏览器(谷歌、火狐、Edge、360浏览器等)。
5、创新沙箱机制,隔离插件与浏览器运行环境,增强插件与浏览器稳定性和安全性
6、攻克诸多技术难点,实现插件不修改、不注册也能使用,极大的降低插件开发量和维护量

准备工作

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

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

运行效果

运行效果如下图所示:

先响应控件关闭文档OnDocumentClosed事件
打开文档

WpsDocFrame控件在谷歌浏览器应用效果

集成代码示例 

请参照本人以前编写的博文《一个接口4个步骤轻松搞定最新版Chrome浏览器集成ActiveX控件》集成WpsDocFrame控件,网页编写后,放到安装目录Web目录下即可。为了方便大家学习,本人编写了一个简单的示例,方便大家借鉴和参考。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>allWebPlugin + WPSDocFrame ActiveX 中间件示例程序</title>
 <meta http-equiv="X-UA-Compatible" content="IE=9" />
 <script type="text/javascript" src="leftNav/jquery.min.js"></script>
 <script type="text/javascript" src="js/allWebPlugin.Common.v2.0.0.30.js"></script>
 <script type="text/javascript" src="js/allWebPlugin.UI.v2.0.0.30.js"></script> 
 <script type="text/javascript" src="js/allWebPlugin.Main.v2.0.0.30.js"></script>  
 <script type="text/javascript" src="leftNav/allWebPlugin.LeftUI.js"></script>
 <link rel='stylesheet' type='text/css' href='css/allWebPlugin.LeftUI.css' />
 <script type="text/javascript">
	
 </script>
 <script language="javascript">

function init(){
	var installPackageUrl = "http://127.0.0.1:6651/install/allwebPlugin_x86_v2.0.1.16_20240806.exe";
	var installPackageVersion = "2.0.30.0";	
	if(awp_IsInstall(installPackageVersion,installPackageUrl)){
		awp_CreatePlugin("WPSDocFrame","{8E7DA7EC-07EC-4343-8141-88A2ADB63A5F}");
	}
}		
function OpenLocalFile(){
	var pluginUtilityObj = awp_getPluginUtility();
	pluginUtilityObj.GetLocalOpenDialog("doc文件(*.doc);;docx文件(*.docx);;xls文件(*.xls);;xlsx文件(*.xlsx);;所有文件(*.*)").then(function(varFile){
		console.log(varFile);
		if(varFile != "")
		{	
			WPSDocFrame.Open(varFile,"");
		}
	});
}
function SaveLocalFile(){
	var pluginUtilityObj = awp_getPluginUtility();
	//docx文件(*.docx);;excel文件(*.xlsx)
	pluginUtilityObj.GetLocalSaveDialog("doc文件(*.doc);;docx文件(*.docx);;xls文件(*.xls);;xlsx文件(*.xlsx);;").then(function(varFile){
		WPSDocFrame.saveAs(varFile);
	});
}

function CloseFile(){
	WPSDocFrame.close();
}

function setShowToolbar(on){
	WPSDocFrame.Toolbars = on;
}
//WPSDocFrame OnDocumentOpened 事件
function OnDocumentOpened(wpsDocFrame){
	alert("OnDocumentOpened Event,wpsDocFrame:" + wpsDocFrame);
}
//WPSDocFrame OnDocumentOpened 事件
function OnDocumentClosed(wpsDocFrame){
	alert("OnDocumentClosed Event,wpsDocFrame" + wpsDocFrame);
}
function OnDocumentBeforePrint(wpsDocFrame){
	alert("OnDocumentBeforePrint Event,wpsDocFrame" + wpsDocFrame);
}
function OnDocumentBeforeSave(wpsDocFrame){
	alert("OnDocumentBeforeSave Event,wpsDocFrame" + wpsDocFrame);
}
function OnDocumentAfterSave(wpsDocFrame){
	alert("OnDocumentAfterSave Event,wpsDocFrame" + wpsDocFrame);
}

 </script>
</head>
<body onload="init()" style="overflow-y:hidden;overflow-x:hidden">
<table id="maintable"  cellspacing='0' cellpadding='0' >
 <!-- head -->
 <tr><td colspan="2" valign="top" height="61px"><table cellspacing='0' cellpadding='0' cellspacing='0' cellpadding='0'  id="header"><tr ><td><span> allWebPlugin + WPSDocFrame </span>中间件示例程序</td></tr></table></td></tr> 
 <!-- end head -->
 
 <!-- showList -->
 <tr><td id="showtr" colspan="2" >
  <table id="functionBox" border="0">
    <tr>
     <td  id="showTD" width="204px" height="30px"  valign="top">
     
       <table id="functionTable"   cellspacing='4' cellpadding='0'  >    
        <tr  id="disPlayNone"><td height="30px" class="tableFather" >功能列表    <span>&lt;</span></td></tr>
        <tr  class="test"><td valign="middle" class="tableFather">
  		  <table class="tableAll" style="height:30px" cellspacing='0' cellpadding='0'><tr><td class="titleStyle"> 文档常用功能  <span>+</span></td></tr></table>
	       <div id="read0"  class="hideDiv" >
				<table id="readT0"   width="100%" cellspacing='0' cellpadding='0'><!-- 文档功能 -->
					<tr><td class="dot-size"><a onclick="WPSDocFrame.CreateNew('WPS.Document')">新建Word文档</a></td></tr>
					<tr><td class="dot-size"><a onclick="WPSDocFrame.CreateNew('ET.Workbook')">新建Excel文档</a></td></tr>
					<tr><td class="dot-size"><a onclick="OpenLocalFile()">打开本地文档</a></td></tr>
					<tr><td class="dot-size"><a onclick="SaveLocalFile()">另存为</a></td></tr>
					<tr><td class="dot-size"><a onclick="CloseFile()">关闭文档</a></td></tr>
					<tr><td class="dot-size"><a onclick="WPSDocFrame.print()">打印</a></td></tr>				
				 </table><!--END 文档功能 -->
		   </div>
		  </td></tr>
			
			<tr class="test"><td valign="middle" class="tableFather">
		   <table class="tableAll" style="height:30px" cellspacing='0' cellpadding='0'><tr><td class="titleStyle">  界面UI操作   <span>+</span></td></tr></table>
	       <div id="read1"  class="hideDiv">
				       <table id="readT1" width="100%" cellspacing='0' cellpadding='0'><!-- 文档制功能子菜单 -->
							<tr><td class="dot-size"><a onclick="setShowToolbar(true)">显示工具条</a></td></tr>
							<tr><td class="dot-size"><a onclick="setShowToolbar(false)">隐藏工具条</a></td></tr>
							<tr><td class="dot-size"><a onclick="WPSDocFrame.Titlebar=true">显示标题栏</a></td></tr>
							<tr><td class="dot-size"><a onclick="WPSDocFrame.Titlebar=false">隐藏标题栏</a></td></tr>
							<tr><td class="dot-size"><a onclick="WPSDocFrame.FullScreen(true)">全屏</a></td></tr>
					    </table>
		  </div>
		  </td></tr>  	  
		  <tr><td>&nbsp;</td></tr>     
       </table>
     </td> 
     <td id="activeBox">
       <table id="activeTable" >
        <tr>
        <td valign="top"  border="1">
            	<canvas id="WPSDocFrame" width="1024" height="600">
					<p class="error">Sorry, It looks as though your browser does not support the canvas tag.</p>
				</canvas>
        </TD>
		</script>
	</td>
		</tr>
	   </table>  
     </td>
    </tr>
  </table>
 </td></tr>
 <!-- end showList -->
</table>
</body> 
</html>

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

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

相关文章

计算机网络结课设计:通过思科Cisco进行中小型校园网搭建

上学期计算机网络课程的结课设计是使用思科模拟器搭建一个中小型校园网&#xff0c;当时花了几天时间查阅相关博客总算是做出来了&#xff0c;在验收后一直没管&#xff0c;在寒假想起来了简单分享一下&#xff0c;希望可以给有需求的小伙伴一些帮助 目录 一、设计要求 二、…

mars3d接入到uniapp的时候ios上所有地图的瓦片都无法加载解决方案

用的是【Mars3d】官网的uniapp的仓库&#xff0c;安卓没有问题&#xff0c;但是ios的不行 相关链接 mars3d-uni-app: uni-app技术栈下的Mars3D项目模板 解决方案&#xff1a;感觉所有图片请求全被拦截了 uniapp的ios内核不允许跨域&#xff0c;需要先把瓦片下载后转base64&…

springboot019高校心理教育辅导

版权声明 所有作品均为本人原创&#xff0c;提供参考学习使用&#xff0c;如需要源码数据库配套文档请移步 www.taobysj.com 搜索获取 技术实现 开发语言&#xff1a;Javavue。 框架&#xff1a;后端spingboot前端vue。 模式&#xff1a;B/S。 数据库&#xff1a;mysql。 开…

基于java手机销售网站设计和实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

基于 GEE 计算研究区年均地表温度数据

目录 1 代码解析 2 完整代码 3 运行结果 1 代码解析 &#xff08;1&#xff09;定义研究区&#xff1a; // 研究区的范围需要自己提前上传 var dataset table;// 将研究区显示在中心&#xff0c;后面的数字为缩放等级&#xff0c;范围从1 - 24 Map.centerObject(dataset,…

VMware Windows_10_x64 安装 VM Tools 后无法将本机文件复制到虚拟机

有一种情况&#xff0c;安装VM Tools死活安装不上去。这时不要急不要慌&#xff0c;重启本机就好了&#xff08;本人情况就是如此&#xff09;。 windows键 R 输入 service.msc 打开服务管理器 找到Virtual Disk服务&#xff0c;选择属性设置为自动&#xff0c;应用后启用服…

python知识和项目经验

一些功能的实现 从.py文件中获取函数对象和参数 的字典 在给定的Python脚本中&#xff0c;通过模块导入和反射机制&#xff0c;如何动态获取包含模型函数的模块中的函数及其默认参数&#xff0c;并构建一个字典以便后续使用&#xff1f; 解决方案 test.py # test.py impor…

Unity下ML-Agents第一个示例

本文写于2025年2月12日&#xff0c;需要提前安装好Anaconda。按文中步骤测试了两次都可正常运行。 一、准备Python端 1.下载并解压 ML-Agents Release 22&#xff08;使用git clone大概率会失败&#xff09; 解压路径为 C:\Users\Administrator&#xff08;Administrator为电…

FastExcel + Java:打造高效灵活的Excel数据导入导出解决方案

作者&#xff1a;后端小肥肠 &#x1f347; 我写过的文章中的相关代码放到了gitee&#xff0c;地址&#xff1a;xfc-fdw-cloud: 公共解决方案 &#x1f34a; 有疑问可私信或评论区联系我。 &#x1f951; 创作不易未经允许严禁转载。 姊妹篇&#xff1a; 基于AOP的数据字典实现…

解决IDEA中gitlab登录只有token选项,没有账号密码选项

如图&#xff0c;当点击gitlab账户登录的时候&#xff0c;只显示server和token&#xff0c;而没有账号选项。期望通过账号密码登录。 解决方式&#xff1a; 插件 - GitLab - 禁用即可。

AI语言模型的技术之争:DeepSeek与ChatGPT的架构与训练揭秘

云边有个稻草人-CSDN博客 目录 第一章&#xff1a;DeepSeek与ChatGPT的基础概述 1.1 DeepSeek简介 1.2 ChatGPT简介 第二章&#xff1a;模型架构对比 2.1 Transformer架构&#xff1a;核心相似性 2.2 模型规模与参数 第三章&#xff1a;训练方法与技术 3.1 预训练与微调…

PHP 中的除以零错误

除以零错误&#xff08;Division by zero&#xff09;是指数字除以零的情况&#xff0c; 这在数学上是未定义的。在 PHP 中&#xff0c;处理这种错误的方式取决于 PHP 版本&#xff1a; PHP 7&#xff1a; 使用 / 运算符会产生一个警告 (E_WARNING) 并返回 false。 使用 intd…

【设计模式】01- 一文理解常用设计模式-“创建型模式”篇

一、前言 最近在复习设计模式&#xff0c;撰写、整理了内容和代码片段&#xff0c;和大家一起交流学习。 设计模式是软件设计中常见问题的典型解决方案。 二、模式分类 模式可以根据其意图或目的来分类。常见的设计模式包括&#xff1a; 创建型模式提供创建对象的机制&#x…

数据结构-链式二叉树

文章目录 一、链式二叉树1.1 链式二叉树的创建1.2 根、左子树、右子树1.3 二叉树的前中后序遍历1.3.1前(先)序遍历1.3.2中序遍历1.3.3后序遍历 1.4 二叉树的节点个数1.5 二叉树的叶子结点个数1.6 第K层节点个数1.7 二叉树的高度1.8 查找指定的值(val)1.9 二叉树的销毁 二、层序…

游戏引擎学习第99天

仓库:https://gitee.com/mrxiao_com/2d_game_2 黑板&#xff1a;制作一些光场(Light Field) 当前的目标是为游戏添加光照系统&#xff0c;并已完成了法线映射&#xff08;normal maps&#xff09;的管道&#xff0c;但还没有创建可以供这些正常映射采样的光场。为了继续推进&…

LSTM变种模型

GRU GRU简介 门控循环神经网络 (Gated Recurrent Neural Network&#xff0c;GRNN) 的提出&#xff0c;旨在更好地捕捉时间序列中时间步距离较大的依赖关系。它通过可学习的门来控制信息的流动。其中&#xff0c;门控循环单元 (Gated Recurrent Unit &#xff0c; GRU) 是…

业务开发 | 基础知识 | Maven 快速入门

Maven 快速入门 1.Maven 全面概述 Apache Maven 是一种软件项目管理和理解工具。基于项目对象模型的概念&#xff08;POM&#xff09;&#xff0c;Maven 可以从中央信息中管理项目的构建&#xff0c;报告和文档。 2.Maven 基本功能 因此实际上 Maven 的基本功能就是作为 Ja…

新一代SCADA: 宏集Panorama Suite 2025 正式发布,提供更灵活、符合人体工学且安全的应用体验

宏集科技宣布正式推出全新Panorama Suite 2025 SCADA软件&#xff01;全新版本标志着 Panorama Suite的一个重要里程碑&#xff0c;代表了从 Panorama Suite 2022 开始并跨越三个版本&#xff08;2022、2023、2025&#xff09;的开发过程的顶峰。 此次重大发布集中在六个核心主…

PAT乙级真题 — 1080 MOOC期终成绩(java)【测试点3超时】

对于在中国大学MOOC&#xff08;http://www.icourse163.org/ &#xff09;学习“数据结构”课程的学生&#xff0c;想要获得一张合格证书&#xff0c;必须首先获得不少于200分的在线编程作业分&#xff0c;然后总评获得不少于60分&#xff08;满分100&#xff09;。总评成绩的计…

【Oracle篇】浅谈执行计划中的多表连接(含内连接、外连接、半连接、反连接、笛卡尔连接五种连接方式和嵌套、哈希、排序合并三种连接算法)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;从事IT领域✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、NoSQL(…