(1)Firefox插件(plugins)开发实用指南 http://huandu.me/2010/02/11/595/,比较有参考价值。
http://blog.csdn.net/z6482/article/details/7677625
(2)手动卸载xpi包步骤
- 在firefox地址栏内,输入 about:config,回车;
- 在过滤器那一栏输入 plugin.expose_full_path,就可以看到plugin.expose_full_path这个设置项;
- 双击这个设置项,将值由默认的fale改为true;
- 在地址栏输入 about:plugins,就会列出目前安装并且启用的插件列表;找到特定名称的插件,下方有列出其对应的路径(步骤3的设置就是为了显示这个路径),打开资源管理器找到插件对应文件。
- 将该文件所在的目录删除掉。刷新一下about:plugins页面,将发现对应的插件已经被卸载了。
(3)Firefox插件中回调页面JS函数
1 NPP instance = g_pPlugin->getNPP(); //g_pPlugin为CPlugin* 2 NPObject* npWindow = NULL; 3 NPError ret = NPN_GetValue(instance, NPNVWindowNPObject, &npWindow); 4 if(ret != NPERR_NO_ERROR) 5 return 0; 6 7 NPIdentifier funcID = NPN_GetStringIdentifier("signComplete"); 8 NPVariant voidResponse; 9 //NPVariant jsMsg; 10 //STRINGZ_TO_NPVARIANT("Confirm_Event",jsMsg); 11 //NPVariant jsArgs[] = {jsMsg}; 12 //NPN_Invoke(m_Npp,m_pConsole, id, &jsArgs[0],sizeof(jsArgs)/sizeof(jsArgs[0]),&voidResponse); 13 NPN_Invoke(instance, npWindow, funcID, NULL, 0, &voidResponse); 14 NPN_ReleaseVariantValue(&voidResponse); //记住这个要释放掉 15 NPN_ReleaseObject(npWindow);