如何利用c++;来自javascript xpcom组件的xpcom组件 我用C++开发了XPCOM组件。我的组件中有GetHWND()方法。我还使用javascript开发了另一个xpcom组件。我想在javascript xpcom组件中使用GetHWND函数。我使用下面的代码来实现这一点
netscape.security.privilegmanager.enablePrivilege(“UniversalBrowserRead”) netscape.security.privilegmanager.enablePrivilege(“UniversalXPConnect”) var myComponent=Components.classes['@dougt/WebLock'].createInstance(Components.interfaces.IWebLock) myComponent=myComponent.QueryInterface(Components.interfaces.IWebLock) var res=myComponent.GetHWND(mainWindow.content.document) 但它给出的错误是“ReferenceError:netscape未定义”。我做了谷歌搜索,但没有找到解决办法 我正在使用Mozilla Firefox,我希望它也能得到同样的效果 请帮我解决这个问题。 提前感谢。您不需要这些:如何利用c++;来自javascript xpcom组件的xpcom组件 我用C++开发了XPCOM组件。我的组件中有GetHWND()方法。我还使用javascript开发了另一个xpcom组件。我想在javascript xpcom组件中使用GetHWND函数。我使用下面的代码来实现这一点,javascript,c++,xpcom,Javascript,C++,Xpcom,netscape.security.privilegmanager.enablePrivilege(“UniversalBrowserRead”) netscape.security.privilegmanager.enablePrivilege(“UniversalXPConnect”) var myComponent=Components.classes['@dougt/WebLock'].createInstance(Components.interfaces.IWebLock) myCo
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
我同意Nickolay的观点,当您的扩展代码被执行时,它拥有chrome特权,允许您访问XPCOM层和组件 我想看到的是,它是否能与尼古拉提到的那些行一起工作。 第二项>如何定义C++组件的接口。
XPIDL不知道HWND类型,所以必须提供一些不同的类型,或者可以使用本机类型,但它不被[脚本]接口支持,我将向问题添加C++和JavaScript标签,以试图让更多的人寻找解决方案。