从Javascript调用DLL方法
我想从javascript调用dll的方法 我看了这篇文章 由于activeX只在IE中工作,我应该如何从FireFox或Chrome中的javascript调用这些方法 我已经有一个应用程序,它使用ActiveX对象调用Dll方法,但它只在IE中工作 有没有可能使我的应用程序浏览器独立 已更新 我使用Jquery async AJAX和webservice调用dll方法:从Javascript调用DLL方法,javascript,dll,Javascript,Dll,我想从javascript调用dll的方法 我看了这篇文章 由于activeX只在IE中工作,我应该如何从FireFox或Chrome中的javascript调用这些方法 我已经有一个应用程序,它使用ActiveX对象调用Dll方法,但它只在IE中工作 有没有可能使我的应用程序浏览器独立 已更新 我使用Jquery async AJAX和webservice调用dll方法: var to_return = $.ajax({ type: "POST", url:
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返回的字符串
我如何才能从中仅获取返回的字符串
另外,如果webservice的CallMe()方法返回该DLL中存在的类的对象?
如何在JavaScript中检索该对象?和
我是否能够使用返回的对象调用该类的方法
请帮忙。类似的方法应该可以:
var obj = new ActiveXObject("ABCDll.testMethod");
var vResult = obj.TestMethod();
alert(vResult);
::更新::
查看hazerd的答案。您不能只在浏览器中执行dll方法(这是出于安全原因)
为了在浏览器中执行一些编译后的代码,您必须使用 ActiveX只是在IE中实现浏览器插件的一种方法。所有其他浏览器都使用不同的插件接口
然后,若用户将在浏览器中安装您的插件-此插件将从JS提供,您可以使用它在dll中执行某些功能 复制品?谢谢VitaliyG。目前我正在使用这个插件选项。是的,你可以。你只需要发明或模拟COM。基本上,您向服务器发送一个ajax请求,以打开一个dll,并将其模块指针存储在一个全局字符串中,指向模块Id映射。然后可以在服务器上发送模块的字符串id和函数名。服务器可以加载模块函数并将其存储在字符串到函数指针映射中。在此之后,您可以通过服务器id字符串向服务器发送调用函数的请求。尽管您需要自己的变体方案来支持使用参数。亲爱的@Nirmal它适用于chrome吗?我认为ActiveXObject只允许在IE中使用。