javascript - 需要从浏览器调用客户端 DLL

标签 javascript c# dll

我从客户那里得到要求,当任何用户刷卡时,他们的详细信息应该在客户端自动捕获到网页中。然而,我们在 IE 中通过在 C# 中创建 ActiveX 控件来做同样的事情。卡服务提供商在客户端安装他们的 DLL,我们可以从 ActiveX 控件调用他们的 DLL 并获取详细信息。

但现在客户端需要在不支持ActiveX控件的多个浏览器中进行相同的操作,即Mozilla Firefox和Chrome。你能告诉我如何从浏览器调用客户端 DLL 方法吗?

最佳答案

唯一可以做到这一点的方法是使用 NPAPI——例如,像 Java 插件这样的“浏览器插件”。 NPAPI 插件可以完全不受限制地访问客户端计算机。

但请注意,Chrome 正在放弃对 NPAPI 插件的支持(事实上,在 Linux 中已经支持,并且很快将在 Windows 中支持),因此即使您编写了 NPAPI 插件并让人们安装它,不久他们也不会能够在 Chrome 中使用它。同样,您的 ActiveX 解决方案将无法在更现代的 IE 版本中运行,因为 IE 不再支持它们。

简而言之:您不能在现代浏览器中执行此操作。相反,您需要创建用户下载和安装的程序。该程序可能包含托管浏览器控件,或者您可以尝试使用操作系统的应用程序自动界面(如果有的话)来查找浏览器窗口并将信息粘贴到其中。当然,每个操作系统都会有所不同。

关于javascript - 需要从浏览器调用客户端 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548268/

相关文章:

c++ - 如何在单独的目录中运行带有 DLL 的 .exe?

c++ - LoadLibrary 失败,错误代码为 193

javascript - Windows Azure IIS 上的 Node.js 使用 IISNode : How to set startup file?

javascript - 用于轨道编号的 Angular 2 管

javascript - 如何在 Angular2 中获得 observable 的响应?

c# - 写入串行 COM 端口时如何实现异步功能?

c# 加载大量图像时出现内存不足异常

javascript - 与 webpack 捆绑的 Firebase 云功能?

c# - 如何将数据类型属性设置为 smalldatetime

Delphi TCanvas 对象在使用 dll 后损坏,如何恢复?