最新版Edge浏览器加载ActiveX控件集成方法

 简介

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

alWebPlugin中间件核心优势

allWebPlugin中间件作为首款浏览器加载ActiveX插件利器,具有六大核心优势。

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

安装allWebPlugin中间件

1、请从下面地址下载allWebPlugin中间件产品

链接:百度网盘 请输入提取码百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1xUyQDzOabh7mU7J7TYhtig?pwd=z3q0

2、请使用默认配置安装allWebPlugin中间件。

集成allWebPlugin中间件

        为了方便大家集成对接ActiveX插件,allWebPlugin中间件坚持使用传统原滋原味的JavaScript编程方式调用插件对象。

第一步:引入JavaScript脚本文件

        首先,引入JavaScript相关文件: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>

第二步:插入定位元素

在需要展示插件的地方,插入canvas网页元素。如下图所示:

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

第三步:创建插件容器子程序

使用PluginHostCnt类的createContainer接口创建插件容器。如下图所示:

function CreateContainer(){
	var canvas = document.getElementById('pluginUI');
	var license = "1q1Sc/tJ1FY2I0gjyovEBlL5O+XF5WrNG0Aq8HHaqVcms51Cl0VS4bYdxltvoHzOdQDEmT8XQhfQhaGxcNiqLQ7oiY85BP8ZsOWCPD3ZYQ5mr14faRu6F8yxXVpgkOeRRlN4clA0lwQi3c0+X/Tvd7BRJKX9uDxkShM9orLUJA119NS++hnfEOcexzvMhL2FWjkNGa2ufV2WjC1M8hbdQSr7uy8b2H7Fiz/HMiWYEFmAnrjDytIx4njwJtO7GYCBKYIE1VGI7iWq9iz4XCIKk1sp1hje01FJCtYPj51+uHfLuWWKatvlFHzSb2IMOSpzAAAA8AEAAQMCTeMq4Dd1nDTk0VXbvFd/Yei0Ojtv60nU4n3yDQuFlxUPwKCQDmQifomaE8DZQR8bEhucH7wk2cabDLm4KCi+wUGvsoKR5r83cLSNLWtaRVtbPoWwMgpFnTmlMtnXrRvPjLx+l/UWPbMMuu9ObsWUU7kdG2mEJRyAFHvRqI+G5Zz8oSets7FNwxdwS2trEiCV4qsAkci3oWhu0ddb02uHzEyOg6sjqKLd9XfKYp4NGdWraSFUYhBsiU7LajQNwmlAeEXWnuNnT5XzoP4icvfojjZZjzw6Ar40ldB7kd9gLDsryZWfwDFsObrXeb9VRVHi8yJ9E17zXMLtpTjtBiIzsQABAYICCgGCMOohm/ugukXrQrv9ulJbVqBTGph9ScEeDPMd5ll5a+dDkRDGlb74ZElzA2gcCi9Xn+FtdXTegKWXRUH5ea5xKhN/6eZgBGL4isdUwaclkKUdq1k60BDQgbvrIx2aRt+io7NnbVJortQQpPWpy/jzQV/aFu+PB/PWwdt/wBHfqgXQw7a1R99EaK6VLtrP7PUURODEIRGk+lP+rFD08z6O/wIXk722B87lfRh+gBoRvhRchXcvlvhqBC3OM7XEBbDLgcvHQvYzm67qxcWvSNJnub+9YxB/7eYR3sE8iJ+h9sfkNE7BYeQ0HwyQpIfCp+3s7nWn8nHBOtbx2Vf5sFBaxHYAAAEOAAAAAUFXUEY=";	
	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,false) == 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');//直接下载包,手动安装
			});
		}
	}
}

第四步:创建插件对象

 创建插件对象,使用PluginHostCnt类的createProxyPlugin接口创建插件,创建插件时,需要传入插件的classid。如下图所示:

function CreatePlugin(){
	if(hostCnt == null)
		return;
	//{6888ECA8-57D0-6E0E-9B9B-F1FF9B2DBD86} allWebOffice
	//{C7F277DC-6C47-AB2C-FB6A-070DC8BE7533} suwellreader
	//{D89F482C-5045-4DB5-8C53-D2C9EE71D025} 老东家iWebOffice2015
	//{9BE31822-FDAD-461B-AD51-BE1D1C159921}  VLC
	allWebOfficeAx = hostCnt.createProxyPlugin("{6888ECA8-57D0-6E0E-9B9B-F1FF9B2DBD86}");
	if(allWebOfficeAx != null)
	{
		PutRibbonCustomUI();
		allWebOfficeAx.GetDisplayStyle().ShowOpenProgress = true;
	}
}

第五步:调用插件对象接口

 最后,调用插件对象接口,注意:调用插件读属性与传统调用存在差异,需要在属性后面加上“()”方可获取属性值(仅适合createProxyPlugin方法创建的插件对象)。如下图所示:

//作用:VBA套红
function WebInsertVBA(){
	//画线
		try{
			var doc = allWebOfficeAx.ActiveDocument();
			var varSaveFormat = doc ? doc.SaveFormat() : undefined;//word属性
			if(varSaveFormat === undefined){//非word 
				alert("请打开Word文档");
				return;
			}		
			var myRange = allWebOfficeAx.ActiveDocument().Range(0,0);
			myRange.Select();
			var mtext="★\n";
			myRange = allWebOfficeAx.Application().Selection().Range().InsertAfter(mtext);
			myRange = allWebOfficeAx.ActiveDocument().Paragraphs().Item(1).Range();
			myRange.ParagraphFormat().LineSpacingRule = 1;//wdLineSpace1pt5
			myRange.Font().ColorIndex = 6;
			myRange.ParagraphFormat().Alignment = 1;
			//------------------------------------------
			myRange = allWebOfficeAx.ActiveDocument().Range(0,0);
			myRange.Select();
			
			myRange = allWebOfficeAx.Application().Selection().Range();
			mtext="allWebPlugin 发[2012]154号\n";
			myRange.InsertAfter(mtext);
			
			myRange = allWebOfficeAx.ActiveDocument().Paragraphs().Item(1).Range();
			myRange.ParagraphFormat().LineSpacingRule = 1;//wdLineSpace1pt5
			myRange.ParagraphFormat().Alignment = 1;
			myRange.Font().ColorIndex = 6;
			
			//---------------------------------------
			myRange = allWebOfficeAx.Application().Selection().Range();
			mtext="电子政务文件\n";
			myRange.InsertAfter(mtext);
			myRange = allWebOfficeAx.ActiveDocument().Paragraphs().Item(1).Range();
			myRange.ParagraphFormat().LineSpacingRule = 1;//wdLineSpace1pt5
			myRange.Font().ColorIndex = 6;
			myRange.Font().Name = "仿宋_GB2312";
			myRange.Font().Bold = true;
			myRange.Font().Size = 50;
			myRange.ParagraphFormat().Alignment = 1;
			let margin = 70.0001;//浮点数
			myRange.PageSetup().LeftMargin = margin;
			myRange.PageSetup().RightMargin = margin;
			myRange.PageSetup().TopMargin = margin;
			myRange.PageSetup().BottomMargin = margin;

			allWebOfficeAx.ActiveDocument().Shapes().AddLine(80,182,287,182);
			allWebOfficeAx.ActiveDocument().Shapes().AddLine(306,182,520,182);

		}catch(e){
		  alert(e.message);
		}
}

效果展示

下图展示最新版Edge浏览器加载allWebOffice插件,实现VBA套宏功能效果

Firefox浏览器加载allWebOffice插件
Firefox浏览器加载金格iWebPDF

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老 K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值