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

ops/2025/2/13 5:20:43/

  背景

        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目录下即可。为了方便大家学习,本人编写了一个简单的示例,方便大家借鉴和参考。

javascript"><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>


http://www.ppmy.cn/ops/157965.html

相关文章

问卷数据分析|SPSS实操之单因素方差分析

适用条件&#xff1a; 检验分类变量和定量变量之间的差异 分类变量数量要大于等于三 具体操作&#xff1a; 1.选择分析--比较平均值--单因素ANOVA检验 2. 下方填分类变量&#xff0c;上方为各个量表数据Z1-Y2 3. 点击选项&#xff0c;选择描述和方差齐性检验 4.此处为结果数…

Pandas数据填充(fill)中的那些坑:避免机器学习中的数据泄露

1. 问题背景 在处理时间序列数据时,经常会遇到缺失值需要填充。Pandas提供了ffill(forward fill)和bfill(backward fill)两种填充方式,但使用不当可能会导致数据泄露,特别是在进行机器学习预测时。 2. 填充方式解析 2.1 基本概念 ffill(forward fill): 用前面的值填充后面的…

objectArx2016使用python3.9.7配置实践

写在前面: 笔者有一些python代码, 需要结合到cad二次开发的项目中,并使用embed版本进行发布.记录一下配置过程,并加些分析,以备后期查用. ObjectArx配置Python 零 着重提醒一 Python安装版本和embed版本1.1 下载1.2 安装版本的设置1)安装参数设置2)安装版本Python内重要文件 1.…

机器学习中过拟合和欠拟合问题处理方法总结

目录 一、背景二、过拟合(Overfitting)2.1 基本概念2.2 过拟合4个最主要的特征2.3 防止过拟合的11个有效方法 三、欠拟合&#xff08;Underfitting&#xff09;3.1 基本概念3.2 欠拟合的4个特征3.3 防止欠拟合的11个有效方法 四、总结五、参考资料 一、背景 在机器学习模型训练…

【Elasticsearch】bucket_sort

Elasticsearch 的bucket_sort聚合是一种管道聚合&#xff0c;用于对父多桶聚合&#xff08;如terms、date_histogram、histogram等&#xff09;的桶进行排序。以下是关于bucket_sort的详细说明&#xff1a; 1.基本功能 bucket_sort聚合可以对父聚合返回的桶进行排序&#xff…

基于 GEE 利用插值方法填补缺失影像

目录 1 完整代码 2 运行结果 利用GEE合成NDVI时&#xff0c;如果研究区较大&#xff0c;一个月的影像覆盖不了整个研究区&#xff0c;就会有缺失的地方&#xff0c;还有就是去云之后&#xff0c;有云量的地区变成空值。 所以今天来用一种插值的方法来填补缺失的影像&#xf…

企业如何利用DeepSeek提升网络安全管理水平

企业可以通过深度整合DeepSeek的AI能力&#xff0c;构建智能化、动态化的网络安全防御体系&#xff0c;以应对APT&#xff08;高级持续性威胁&#xff09;等复杂攻击。以下是具体策略与实践路径&#xff1a; 1. AI驱动的威胁检测与分析 多模态威胁狩猎 DeepSeek的深度学习技术能…

计算机视觉-拟合

一、拟合 拟合的作用主要是给物体有一个更好的描述 根据任务选择对应的方法&#xff08;最小二乘&#xff0c;全最小二乘&#xff0c;鲁棒最小二乘&#xff0c;RANSAC&#xff09; 边缘提取只能告诉边&#xff0c;但是给不出来数学描述&#xff08;应该告诉这个点线是谁的&a…