zoukankan      html  css  js  c++  java
  • 浏览器插件-ActiveX

    浏览器插件:B/S模式下通过在客户端浏览器安装插件调用外设或者处理特殊格式数据。 

    常用插件有身份证阅读器、sim卡阅读器、银行卡校验插件、手写板插件、小键盘插件;

    处理表格数据的华表插件、图片合成插件、图片添加水印插件,发票打印插件;

    1、插件原理

    插件一般使用c/c++开发,通过插件中接口处理,返回一个js对象供页面调用处理:

    image

    本质上就是通过OCX封装了调用操作系统的接口,而这些接口又通过JS对象中方法直接暴露给给页面来调用;

    要想知道具体提供了哪些接口可用:可以通过调试走到该ActiveXObject对象处,通过监视该对象变量获得该对象支持的属性和方法。

    image

    2、插件安装与注册

    浏览器的ActiveX插件的设置采用默认设置:

    imageimage

    如果某个页面中含有该插件的<Object>元素,且第一次进入该页面,在窗口上方会弹出一条信息,告知客户当前页面需要安装插件,点击安装并注册该插件,一般会在C:WindowsSystem32下生成该插件的ocx文件。

    <object id="CardAccessor" 
        classid="clsid:03AD53E8-D7E7-485D-A39A-D07B37DEFBC9"     
        width="0" 
        height="0">
    </object>

    注:对于操作本地文件Scripting.FileSystemObject,在windows随操作系统默认安装,不需要在页面定义<object>

    3、页面调用

    首先,创建这个插件对象

    JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用。使用方法:

    newObj = new ActiveXObject( servername.typename[, location])

    ActiveXObject 对象语法有这些部分:

    其中newObj是必选项。要赋值为 ActiveXObject 的变量名。

    servername是必选项。提供该对象的应用程序的名称。

    typename是必选项。要创建的对象的类型或类。

    location是可选项。创建该对象的网络服务器的名称。

    Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。

    然后调用这个对象中方法即可:newObj.xxxfun()

    参考:

    1、ActiveX开发应用详解

    2、ActiveXObject对象使用整理 

    3、使用ActiveX控件开发网页常见的问题 

    4、FileSystemObject   

    学习技术不是用来写HelloWorld和Demo的,而是要用来解决线上系统的真实问题的.
  • 相关阅读:
    iOS网络开发之AFNetworking
    TCP/IP、Http、Socket的区别
    iOS开发
    iOS 10相关技术
    HTTP协议详解
    HTTPS和HTTP的区别
    CocoaPods
    关于 iOS 10 中 ATS 的问题
    Run Loop详解
    iOS开发项目之MVC与MVVM
  • 原文地址:https://www.cnblogs.com/cac2020/p/5024879.html
Copyright © 2011-2022 走看看