NPAPI 插件研究经验总结
来源:互联网 发布:英雄连2英军单位数据 编辑:程序博客网 时间:2024/06/06 10:45
转http://blog.sina.com.cn/s/blog_71d9aee40100tpdz.html
1. 首先找到codeproject上面的一个例子npproject(Working on an NPAPI-browser plugin):
http://www.codeproject.com/KB/cross-platform/NPAPIBrowserPlugin.aspx
经过测试,这个例子用visual studio 10 和 xulrunner-3.6.22.en-US.win32.sdk编译,可以在firefox 3.6.22 版本上正常运行。
但是这个例子用最新的xulrunner-6.0.2.en-US.win32.sdk编译,在firefox 6.02 版本上运行会崩溃。如果禁用firefox 6.02 的 plugin-container (about:config -> filter = ipc -> dom.ipc.plugins.enabled = false),则该插件可以正常运行。
2. 经过测试,firebreath 可以编译出np**.dll插件,同时支持IE 9, firefox 6.02, chrome 14.0.835, safari 5.1. 即使不用它开发NPAPI插件,其中的代码也值得学习。
regsvr32 nphelloworld.dll 可以手动注册插件
Firefox 地址栏输入 about:plugins 查看已经安装的插件
C:\firebreath-FireBreath-615b970\build\projects\helloworld\gen\FBControl.htm 测试页面
查看.\src\3rdParty\gecko-sdk\includes\update.sh
http://npapi-sdk.googlecode.com/svn/trunk/headers/
更新最新的gecko-sdk头文件。所以我们也可以去该地址获取gecko-sdk头文件,而不用下载全部的gecko sdk了。
下面的地址介绍了在各种浏览器上调试插件的方法,一定要看!
http://www.firebreath.org/display/documentation/Debugging+Plugins
(A) safari 5.1.1
(1)用管理员权限启动VC,在项目属性->general->output directory设置为C:\Program Files\Safari\Plugins,这样编译出的插件dll可以直接找到
(2) 启动Safari浏览器,VC debug->attach to process->选择WebKit2WebProcess.exe, 然后再用浏览器打开测试页面
(b) Chrome 15.0
(1) 将插件安装到C:\Users\"你的用户名"\AppData\Local\Google\Chrome\Application\15.0.874.106\plugins (根据你自己的情况更改)
(2)用管理员权限启动VC, 以下面的方式启动chrome: chrome.exe --plugin-startup-dialog
(3)打开插件测试页面,这时chrome会弹出对话框告诉运行插件的进程PID,然后用VC "attach to process" 到这个进程
(4)如果调试时遇到下面的错误 SXS:
NP_GetEntryPoints -> NP_Initialize
- NPAPI 插件研究经验总结
- NPAPI 插件 编程起步
- NPAPI 插件 编程起步
- NPAPI插件编程起步
- NPAPI插件编程起步
- NPAPI插件开发
- NPAPI插件开发
- NPAPI插件开发[2]
- NPAPI插件开发[1]
- NPAPI插件开发
- [原]NPAPI插件开发
- 基于NPAPI插件开发
- 菜鸟学习npapi插件
- NPAPI插件开发
- NPAPI插件开发
- npapi插件学习
- npapi插件调试
- NPAPI 浏览器插件
- 代理
- subVersion 版本控制系统搭建与使用
- 黑马程序员---Java Collection Framework
- 关于 优先队列 得有关库函数( priority_queue)
- 关于框架的一些胡思乱想
- NPAPI 插件研究经验总结
- ARM学习--ARM程序设计
- 1个 网站 完成了
- jap集成
- 华为7.9三道面试题
- windows 优雅的结束应用程序
- mini2440 rtc支持
- 足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比!
- NPAPI插件开发学习:NPAPI的介绍