如何在Internet Explorer中从网页上的javascript调用.Net控件或类库
How do I call a .Net control or class library from javascript on a web page in Internet Explorer?
我正在开发一个intranet应用程序,该应用程序需要从客户端机器的环境变量信息中收集系统信息,以便在以后的处理中由服务器使用。浏览器为Internet Explorer版本8和9。
我认为Silverlight是一种可能性,但它似乎受到了太多的限制(出于安全原因),无法获取我需要收集的信息。
到目前为止,寻找答案还没有任何结果。有什么想法吗?
实际上,您可以编写一个.Net类,并在IE.中从JavaScript中实例化它
- 让你的课成为
ComVisible
- 给你的班级一个
ProgId
- 使用
regasm
注册.Net程序集 - 在您的JavaScript代码中,调用
new ActiveXObject
无论如何,仍然存在一个安全问题:用户将不得不手动允许ActiveX执行。
我记得,它应该是这样的(未测试):
在C#中:
[ComVisible(true)]
[ProgId("MyCompany.MyClass")]
public class MyClass
{
public string UserName
{
get { return Environment.UserName; }
}
}
在管理员控制台中:
regasm MyClass.dll
在JavaScript中:
var myClass = new ActiveXObject("MyCompany.MyClass");
alert(myClass.UserName);
我不认为可以从浏览器中读取环境变量。由于浏览器是为互联网设计的,为它们提供读取任何类型的系统设置的能力都会导致安全问题。没有人希望他/她访问的网站在互联网上阅读他的系统信息,对吧?我对做你正在努力实现的事情的可能性持怀疑态度。但是,您可能会考虑编写一个基于windows的示例应用程序,该应用程序从您的intranet网站下载,读取环境设置并提交给服务器。
这应该是不可能的,因为你可以编写访问本地计算机的程序是没有人感兴趣的(除了坏人)。
我不知道你有多少用户。但如果你确实需要这些信息,一个解决方案是创建一个程序,从计算机中提取所有需要的数据,并将其存储在映射到用户的数据库中。然后,当您在浏览器中需要信息时,您将从数据库中提取信息。
相关文章:
- 我需要从php调用javascript或jquery
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 使用html表单中的参数调用JavaScript函数
- 可以´t调用JavaScript中的函数
- 在按钮上调用Javascript函数
- 如何从Objective-C代码中调用javascript代码
- 当库在页脚中加载时,基于PHP条件调用Javascript
- 可以't在Jasmine中调用Javascript函数
- 在page_load事件上调用javascript函数
- 如何在ajax中调用javascript对象的方法
- 如何使用WPF调用JavaScript对象的函数
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 从附加文本调用javascript(订单车)
- 在线程循环中调用JavaScript
- 在指定时间后多次调用Javascript中的函数
- 未调用Javascript onscroll事件
- 如何正确调用Javascript中的匿名函数
- 从字符串调用javascript函数
- 无法从活动调用 javascript 函数