在FireFox中如何从JavaScript调用C#dll?

时间:2012-03-02 21:58:19

标签: c# javascript .net firefox firefox-addon

我需要使用firefox,我需要使用USB Check Scanner连接我的网页。我可以编写一个插件或扩展,允许我与用C#编写的dll接口吗?我不想使用COM或ActiveX。

2 个答案:

答案 0 :(得分:2)

由于网络浏览器的安全性,即使网站被视为受信任的网站,我也不认为使用javascript是可行的。根据设计,浏览器不允许任何代码访问硬件,如磁盘或USB扫描仪。如果需要访问查看网页的计算机上的本地硬件,我认为您将不得不使用ActiveX路径。

- 增加 其他一些人已经提到了Silverlight和firefox的插件,允许xbap运行。 Silverlight无法正常工作,因为它具有与浏览器相同的限制。它位于沙箱中,除了能够读取和写入IsolatedStorageFile(基本上是运行应用程序的大型cookie文件)之外,无法在本地访问任何资源。除非你能让它以完全信任的方式运行。

在浏览器中运行时,WPF / xbap也具有相同的安全限制。但是,您可以签署xbap应用程序并通过一些箍来使xbap在完全信任环境中运行...需要在客户端计算机上信任或安装证书。

为了能够访问USB扫描仪,您需要能够将代码提升到完全信任的东西。 xbap是可能的,但我认为如果你需要这种权限,你会发现更容易进入ActiveX路径。

或者,您可以创建Windows窗体应用程序。在它里面你可以放一个Broswer Control进入你的网站。您的表单应用程序将有权访问usb扫描程序c#.dll,假设dll与Windows窗体位于同一目录中...如果不是,您可能需要运行具有管理员权限的表单应用程序。

答案 1 :(得分:1)

显然有一种名为.Net Framework Assistant的东西。见这里:http://msdn.microsoft.com/en-us/library/cc716877.aspx