最新版Chrome浏览器加载ActiveX控件之SolidWorks 3D控件

背景

SolidWorks Composer Player是一个免费应用程序,它允许内容创作者将 Composer 内容分发给任何最终用户。Composer Player 与 Composer 一样具有高性能。Composer Player 绝不仅仅是一个简单的查看器,内容使用者可以在产品可交付内容中获得深入的互动体验。

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

alWebPlugin中间件核心优势

1、自创定位算法,实现插件与页面布局无缝衔接,极致用户体验

2、自创插件接口调用方法,保持原汁原味的接口调用及事件响应方式,轻松实现OA系统升级改造

3、支持同一页面或不同页面同时加载多个插件,适应各种复杂应用场景

4、自主创新、安全可控,不受浏览器插件技术限制,支持更多浏览器 (谷歌、火狐、Edge、360浏览器等)。

5、创新沙箱机制,隔离插件与浏览器运行环境,增强插件与浏览器稳定性和安全性

6、攻克诸多技术难点,实现插件不修改、不注册也能使用,极大的降低插件开发量和维护量

准备工作

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

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

提取码:z3q0

运行效果

运行效果如下图所示:
SolidWorks Composer Player 控件 SolidWorks Composer Player 控件

集成代码示例

网页设计

html 复制代码
<body onload="init()" >
	<p align="center"><b><span class="style1">SolidWorks Composer Player 3D演示页面</span><br class="style1" /></p>
    <button onclick="openFile()">打开文档</button>
	<button onclick="Print()">打印</button>
	<button onclick="openWebFile()">打开在线文档</button>
    <table style="width:100%;height:80%" border="0" align="center"> 
       <tr style="width:100%;height:80%"> 
           <td  style="width:100%;height:80%">
				<canvas id="SWPlayAPI" 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>                       
    </table>
</body>

JavaScript调用代码

javascript 复制代码
function init(){   
	var installPackageUrl = "http://127.0.0.1:6651/install/allwebPlugin_x86_v2.0.1.16_20240806.exe";
	var installPackageVersion = "2.0.0.28";	
	if(awp_IsInstall(installPackageVersion,installPackageUrl)){
		awp_CreatePlugin("SWPlayAPI","{410B702D-FCFC-46B7-A954-E876C84AE4C0}");
		if(SWPlayAPI){
			SWPlayAPI.FileName = "D:\\Users\\LK\\Desktop\\close.svg";
			SWPlayAPI.Password = "";
			SWPlayAPI.AutoPlay = true;
			SWPlayAPI.ShowViewBar = true;
			SWPlayAPI.ShowDiapoBar = true;	//ShowMarkerBar;ShowStandardToolBar;ShowRenderToolBar;ShowCameraToolBar
											//ShowTimelineBar;ShowStatusBar;ShowRedlineToolBar;ShowAnnotationToolBar;
											//ShowCuttingPlaneToolBar;ShowCollabToolBar;ShowGeometryToolBar;
											//ShowMain3DToolBar;ShowCameraViewToolBar;ShowVisibilityToolBar;
											//ShowPropertyBar;ShowMeasurementToolBar;ShowTreesBar;ShowViewBar
											//ShowBOMTreeBar;ShowAssemblyTreeBar;ShowCollabTreeBar;
											//ShowInformationBar;
												
			}
	}
}

function openFile()
{
	if(SWPlayAPI){
		var pluginUtilityObj = awp_getPluginUtility();
			pluginUtilityObj.GetLocalOpenDialog("smg文件(*.smg);;所有文件(*.*)").then(function(varFile){
				console.log(varFile);
				if(varFile != "")
					SWPlayAPI.Password = "";
					SWPlayAPI.FileName = varFile;
			});
	}
}
function Print(){
	if(SWPlayAPI){
		SWPlayAPI.Print();
	}
}
function openWebFile()
{
	if(SWPlayAPI){
		var pluginUtilityObj = awp_getPluginUtility();
		var httpclientObj = awp_getHttpClient();
		httpclientObj.Clear();
		if (httpclientObj.Open(0, "https://local.zsignyun.com:6652/doc/test.smg", false)) {
			httpclientObj.Send().then(function(data){
				if (httpclientObj.GetStatus() == 200) {
					var varTempPath = pluginUtilityObj.GetTempPath();
					var varFile = pluginUtilityObj.GetTempFileName(varTempPath,"zso") + ".smg";
					httpclientObj.ResponseSaveToFile(varFile);
					SWPlayAPI.Open(varFile);
				}
				else{
					var httpStatus = httpclientObj.GetStatus();
					if(httpclientObj.GetStatus() == 0)
					{
						alert("LoadFile test.jt Error:" + httpclientObj.GetErrorText());
					}else{
						alert("LoadFile test.jt Status:" + httpStatus + ",请确保安装目录下web\doc目录存在test.jt");
					}
				}
				httpclientObj.Close();
			});	
		 }
	}
}
相关推荐
肖老师xy10 分钟前
h5使用better scroll实现左右列表联动
前端·javascript·html
一路向北North15 分钟前
关于easyui select多选下拉框重置后多余显示了逗号
前端·javascript·easyui
Libby博仙18 分钟前
.net core 为什么使用 null!
javascript·c#·asp.net·.netcore
一水鉴天18 分钟前
为AI聊天工具添加一个知识系统 之26 资源存储库和资源管理器
前端·javascript·easyui
浩浩测试一下21 分钟前
Web渗透测试之XSS跨站脚本 防御[WAF]绕过手法
前端·web安全·网络安全·系统安全·xss·安全架构
hvinsion23 分钟前
HTML 迷宫游戏
前端·游戏·html
m0_6724496027 分钟前
springmvc前端传参,后端接收
java·前端·spring
万物得其道者成37 分钟前
在高德地图上加载3DTilesLayer图层模型/天地瓦片
前端·javascript·3d
路星辞*43 分钟前
基于访问表的安全防范策略
运维·网络·安全·智能路由器·acl
码农君莫笑1 小时前
Blazor用户身份验证状态详解
服务器·前端·microsoft·c#·asp.net