Firefox插件开发 相关总结

(1)Firefox插件(plugins)开发实用指南   http://huandu.me/2010/02/11/595/,比较有参考价值。

       http://blog.csdn.net/z6482/article/details/7677625

(2)手动卸载xpi包步骤

  1. 在firefox地址栏内,输入 about:config,回车;
  2. 在过滤器那一栏输入 plugin.expose_full_path,就可以看到plugin.expose_full_path这个设置项;
  3. 双击这个设置项,将值由默认的fale改为true;
  4. 在地址栏输入 about:plugins,就会列出目前安装并且启用的插件列表;找到特定名称的插件,下方有列出其对应的路径(步骤3的设置就是为了显示这个路径),打开资源管理器找到插件对应文件。
  5. 将该文件所在的目录删除掉。刷新一下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);
posted @ 2013-07-16 12:07  Tracy*_*  阅读(339)  评论(0编辑  收藏  举报