我想从javascript调用dll的方法。
我遵循了这篇文章Creating activex objects with c#
由于activeX仅适用于IE,我应该如何在FireFox或Chrome中使用javascript调用这些方法?
我已经有一个使用ActiveX对象调用Dll方法的应用程序,但它只能在IE中运行。
是否有任何可能的方法使我的应用程序浏览器独立?
已更新
我使用Jquery异步AJAX和webservice来调用dll方法:
var to_return = $.ajax({
type: "POST",
url: "Default.aspx/CallMe", //CallMe is WebService method
data: "{}", // parameter to pass
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
});
alert(to_return.responseText);
如果 CallMe()返回一个字符串,则会将其警告为 {“d”:“True”} 其中“True”是从CallMe返回的字符串。< / p>
我怎样才能从中获取返回的字符串?
另外,如果webservice的 CallMe()方法返回该DLL中存在的类的Object? 如何在JavaScript中检索该对象?和 我能使用返回的对象调用该类的方法吗?
请帮助。
答案 0 :(得分:3)
这样的事情应该有效:
var obj = new ActiveXObject("ABCDll.testMethod");
var vResult = obj.TestMethod();
alert(vResult);
:: update ::
从link查看hazerd的答案。
答案 1 :(得分:2)
您不能只在浏览器中执行dll方法(这是出于安全原因)。
要在浏览器中执行某些已编译的代码,您必须使用plugin
ActiveX只是一种在IE中实现浏览器插件的方法。所有其他浏览器使用不同的插件接口。
然后,如果用户将在浏览器中安装您的插件 - 这个插件将在JS中提供,您可以使用它在dll中执行某些功能。