Javascript 如何从chrome扩展调用DLL(使用C编写)中导出的函数

Javascript 如何从chrome扩展调用DLL(使用C编写)中导出的函数,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我想从我的chrome扩展中调用使用C语言编写的Dll中的一个导出函数。但是没有得到足够的信息来说明如何做到这一点 在Firefox中,我在扩展js文件中使用了下面提到的代码,但在chrome中不起作用 var InstallPath="C:\\FRViewPortExtn.dll"; Components.utils.import("resource://gre/modules/ctypes.jsm"); var lib = ctypes.open(InstallPath); /* D

我想从我的chrome扩展中调用使用C语言编写的Dll中的一个导出函数。但是没有得到足够的信息来说明如何做到这一点

在Firefox中,我在扩展js文件中使用了下面提到的代码,但在chrome中不起作用

var InstallPath="C:\\FRViewPortExtn.dll";

Components.utils.import("resource://gre/modules/ctypes.jsm");


var lib = ctypes.open(InstallPath); 
/* Declare the signature of the function we are going to call */
passBrowserResizeData = lib.declare("SetViewPort",
ctypes.winapi_abi,
ctypes.void_t,
ctypes.int32_t,
ctypes.float32_t,
ctypes.int32_t,
ctypes.int32_t);
并使用

passBrowserResizeData(6,7,8,9);

请帮助我了解如何使用chrome exteniosns将FRViewPortExtn.dll放置在清单文件的相对位置,并将以下代码添加到manifest.json

"plugins": [
    { "path": "FRViewPortExtn.dll", "public": true },
  ],
将这段代码放入JS(内容JS\background JS\extension JS)


有关更多信息,请参考将FRViewPortExtn.dll放置在清单文件的相对位置,并将以下代码添加到manifest.json

"plugins": [
    { "path": "FRViewPortExtn.dll", "public": true },
  ],
将这段代码放入JS(内容JS\background JS\extension JS)


有关更多信息,请参阅

是否运行此代码?如果是,你有什么错误?我没有从我的js文件中得到任何错误,但是在这段代码之后编写的一些警告消息没有得到调用。这显然意味着这段代码出了问题。你运行过这段代码吗?如果是,你有什么错误?我没有从我的js文件中得到任何错误,但是在这段代码之后编写的一些警告消息没有得到调用。这显然意味着这段代码出了问题。好的,谢谢你提供的信息,我会尝试一下,但一个简单的问题是,我的FRViewPortExtn.dll不是NPAPI dll,它只是一个普通的C dll。那么,我们能在不编写NPAPI插件的情况下实现这一点吗?我编写了一个NPAPI插件。在我的清单文件中,我声明了background.html文件,该文件加载了这个NPAPI插件,并为该插件提供了一些id。在这一点上它是好的,我的插件得到成功加载。但问题是我只能在内容脚本部分指定的js中捕获浏览器调整大小事件。如果我试图使用document.getelementbyid(“由background.html加载的插件ID”)获取加载的npapi插件的实例,此处失败。请建议如何从内容脚本js文件获取加载的插件实例。好的,谢谢您提供的信息,我将尝试此操作,但一个简单的问题是,我的FRViewPortExtn.dll不是NPAPI dll,它只是一个普通的C dll。那么,我们能在不编写NPAPI插件的情况下实现这一点吗?我编写了一个NPAPI插件。在我的清单文件中,我声明了background.html文件,该文件加载了这个NPAPI插件,并为该插件提供了一些id。在这一点上它是好的,我的插件得到成功加载。但问题是我只能在内容脚本部分指定的js中捕获浏览器调整大小事件。如果我试图使用document.getelementbyid(“由background.html加载的插件ID”)获取加载的npapi插件的实例,此处失败。请建议如何从内容脚本js文件获取加载的插件实例。