最新版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();
			});	
		 }
	}
}
相关推荐
用户17592342150285 分钟前
D3.js - 基本用法
前端·d3.js
Mr.Liu622 分钟前
小程序30-wxml语法-声明和绑定数据
前端·微信小程序·小程序
76756047922 分钟前
useDateFormat源码解析
前端·源码
Mintopia22 分钟前
Three.js粒子系统开发实战:从基础到性能优化
前端·javascript·three.js
Promise52023 分钟前
大屏"跑马灯" 长列表性能优化
前端·javascript
子玖23 分钟前
初始化项目前的准备
前端·javascript·vue.js
Mintopia23 分钟前
Three.js进阶实战:打造动态光影交互场景 ——结合环境光、聚光灯与相机控制的沉浸式体验
前端·javascript·three.js
贵州数擎科技有限公司24 分钟前
Threejs绘制小兩伞快拿去送给你的女神
前端
Carlos_sam26 分钟前
OpenLayers:封装Overlay的方法
前端·javascript
MariaH26 分钟前
Sequelize模型初探
前端·后端