在 MVC 中移动 javascript 后,ActiveX 中的访问被拒绝

Access denied in ActiveX after moving the javascripts in MVC

我已经使用 HTML 在我的项目中成功实现了智能卡 Reader 并且一切都完美地 100% 工作但是当我将所有文件传输到我的 MVC 项目并且 运行 (localhost) 我无法执行卡 Reader 的初始化功能。说 "Access is denied"

在 HTML 中(所有功能都在运行,没有访问被拒绝的错误)

在 MVC 中

我的对象

<OBJECT id="EIDAWebComponent" style="border:solid 1px gray"
                                        CLASSID="CLSID:A4B3BB86-4A99-3BAE-B211-DB93E8BA008B"
                                        width="130" height="154"></OBJECT>

更新: 我创建了一个新的 ASP.Net Web 应用程序(空模板),然后我复制了整个 js 和 html 文件。然后将 HTML 页面设置为起始页。问题可能出在我的本地主机上。当我使用 link C:\Public Data ActiveX\PublicDataActiveX.html 在 IE 中浏览我的文件时,activex 正在工作。但是这个 link http://localhost:28679/PublicDataActiveX.html 不是。

问题可能只是为了让 ActiveX 工作而启用 HTTPS。

如果你的堆栈让这件事变得困难,你可以在上面安装一个代理,比如 nginx:

http://cnedelcu.blogspot.com.co/2014/10/https-with-nginx-setting-up-ssl.html

您只是共享了一小部分代码和一些图片,因此很难以这种方式提供帮助,但以下是您可能需要考虑的一些提示:

  • 当您说,它在纯粹的 html 中工作时,这到底是什么意思?你如何浏览它,双击 html 文件并在浏览器中作为本地文件打开,路径类似于 "C:\Folder\File.hml"?
  • 或者你用域名浏览它,也许"localhost/file.html"?
  • 当您说移动到 MVC 项目时,您是什么意思?你是把它放在视图上还是只是移动了 html 并浏览了它?

以上所有问题都很重要,以便找出您的问题所在

  • 如果您可以在两种情况下从文件系统和 运行 您的 MVC 项目浏览 .html 文件,那么问题出在 MVC 本身,它是编码问题。
  • 如果您无法浏览相同的文件系统。html 与您的应用 运行 完全相同,那么问题不在于代码,而是权限,可能是 CORS限制(按域),也许 ssl(你说不是),也许你需要一个密钥(比如 google api)

经过大量搜索后,我找到了这个 link

更改 IE 中的安全设置我的 ActiveX 现在可以在本地主机上运行了。

打开 IE >> 工具 >> Internet 选项 >> 安全 >> 自定义级别 >>(启用)初始化未标记为安全的 ActiveX 控件并为其编写脚本