vue 项目集成active控件

本文分享了在Vue项目中集成ActiveX控件以实现扫描仪功能的解决方案。通过在组件中引入控件并指定为全局对象,详细介绍了如何调用扫描仪的特定方法,同时指出了在不同组件间复用该功能存在的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的项目里面有一项功能需要集成扫描仪,在安装了扫描仪驱动后,还需要在项目里面集成其ActiveX控件,主要的问题就在于我需要扫描仪的某些方法加入一些其他操作。由于这个东西是不开源的,在Google上搜索良久,也看到很多人都在寻找办法,最后居然告诉我一个ActiveX控件和vue不能共存的结论,什么鬼?最后不得不请教公司大佬,现在把我的这个实现贴出来分享一下。

解决方案

  1. 在需要使用扫描仪的功能对应的组件上引入控件,并将其指定为全局对象,假设为scan.js:
let modelue = {
    name: 'scan',
    template: `...
    <div style="display: none">
        <object id="ScanObj" classid="clsid:xxxx" codebase="xxx" width="0" height="0" ref="ScanObj">
        </object>
    </div>
    ...
    `
    data () {},
    methods: {},
    created() {
        <!--在created中将该实例指定为全局对象。-->
        window.scan = this
1.功能 摄像头控件用于在Web编程中辅助您完成图像采集、截图,上传到服务器当中,支持USB外置摄像头、内置摄像头及部分型号高拍仪设备. 该摄像头控件工作在客户端浏览器中,支持多种服务器端编程技术及部署环境,支持asp、jsp、php、asp.net等常见的服务器端编程技术,图像采集结果支持jpg和bmp格式图片。 2.控件集成jsp,asp,html,php使用说明 控件以cab压缩包格式发行,在项目集成控件时需要复制cab文件到项目中,然后在需要进行图像采集的页面中使用<object></object>的方式引入控件。完整的引用控件的示例如下: 1 <object classid="clsid:1122dfdf-5fds6-4fds-8fds2-947fdsfdsfds8" 2 3 id="Camer" codebase="http://127.0.0.1:8080/imagesUpload/demo.cab#version=1,0,0,8" width="500px" height="400px"> 4 5 </object> 上面的示例演示了如何在项目的页面中引用控件,注意红色标示的部分用于确定控件cab压缩包所在路径,要结合项目中的目录划分自行制定到控件压缩包的路径。 除了要在html页面中引入控件以外,客户端浏览器在访问控件所在页面时,需要提前调整浏览器设定,需要启用 ActiveX技术,因控件未进行数字签名,因此需要启用浏览器的“未签名 ActiveX下载提示”功能及“未签名ActiveX运行提示”功能. 注意:首次运行时,当浏览器有阻止运行,请允许运行 3.控件方法调用说明 01 //启动摄像头 02 Camer.initCamer(0,10); 03 //点击拍照 04 Camer.TakePhoto("D:/test1.bmp"); 05 //关闭摄像头 06 Camer.CloseDev(); 07 //上传已拍照的相片 08 Camer.UpFileNew("D:/test1.bmp","http://127.0.0.1:8080/imagesUpload/upload.jsp"); 09 10 //删除本地照片 11 Camer.DeleteFile("D:/test1.bmp");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值