Plugins 如何在Firebreath插件中获取NPP实例?

Plugins 如何在Firebreath插件中获取NPP实例?,plugins,cookies,npapi,firebreath,Plugins,Cookies,Npapi,Firebreath,在从FB::PluginCore(或FB::jsapiaauto)派生的类中,例如在onPluginReady()或JS方法处理程序中,我希望能够访问NPP实例。获取此指针的最佳实践是什么 基本目标是能够调用NPN_SetValueForURL来设置cookies。您可以调用NpapiBrowserHost对象上的任何NPN函数,这就是BrowserHost的实际功能 FB::Npapi::NpapiBrowserHostPtr npapiHost = FB::ptr_cast<FB::N

在从FB::PluginCore(或FB::jsapiaauto)派生的类中,例如在onPluginReady()或JS方法处理程序中,我希望能够访问NPP实例。获取此指针的最佳实践是什么


基本目标是能够调用NPN_SetValueForURL来设置cookies。

您可以调用NpapiBrowserHost对象上的任何NPN函数,这就是BrowserHost的实际功能

FB::Npapi::NpapiBrowserHostPtr npapiHost = FB::ptr_cast<FB::Npapi::NpapiBrowserHost>(m_host);
FB::Npapi::NpapiBrowserHostPtr npapiHost=FB::ptr_cast(m_host);

我认为它上面有SetValueForURL,但是如果它丢失了,你可以添加它并提交一个pull请求;只要合理,我就接受。

IE不是NPAPI,所以绝对不是。你询问一个核电站实例;IE中没有NPP实例。更具体地说,cast将返回一个空指针,因此您可以使用if(npapiHost){…}检查它