浏览器插件开发之——NPAPI

 

 

一 浏览器概述

    关于什么是浏览器,强大的wiki已经做了比较完善的解释http://en.wikipedia.org/wiki/Web_browser。相关浏览器的比较参考:http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Vulnerabilities

    浏览器的核心是layout engine,基本上各浏览器只是包装,主要layout engine参考:http://en.wikipedia.org/wiki/Comparison_of_layout_engines

    目前主要的浏览器为Internet Explorer, Firefox, Chrome, Safari和Opera,其余浏览器多为在此基础上的二次开发,如搜狗浏览器,Maxthon等。

 

二 浏览器开发

    浏览器基本都支持针对性的开发,具体的开发支持分为三个层次:主题开发,只能定制浏览器的皮肤界面等;扩展开发,可以定制浏览器的一些功能响应;插件开发,真正的对于浏览器的新功能开发。常见的flash就是使用最广的浏览器插件。目前主要的插件有两种,ActiveX控件和NPAPI插件。

 

三 ActiveX

    微软的技术基本是COM和ActiveX的天下,IE浏览器插件只支持ActiveX作为插件。具体过程比较简单,使用ATL或MFC开发一个标准的支持IE的ActiveX控件即可。

 

四 NPAPI

    除微软外,其它浏览器核心基本都是支持NPAPI插件。NPAPI较ActiveX控件更简单,但是只针对浏览器插件。什么是NPAPI,可以参考:http://en.wikipedia.org/wiki/NPAPI

下面主要介绍一个windows32 NPAPI插件的开发实例。

(一)下载所需的头文件或SDK

   可以下载GeckoPluginSDK(https://developer.mozilla.org/en/Gecko_SDK),如果觉得麻烦的话可以下载一个只包含头文件的精简版http://code.google.com/p/npapi-headers/(其中函数结构体的大小好像需要点修改)。下面使用精简版;

(二)使用Visual Studio C++建立一个DLL项目(建议选择纯空项目),添加上面下载的头文件;

添加一个Plugin.cpp作为导出函数的源代码文件,添加一个资源文件(这个必须,并且要全部填写下面的资源,否则不会被加载),添加一个.def文件。

(三)填写.def文件(windows下最少有这三个函数)

 

(四)填写资源文件(windows下此资源文件必须包括所有字符资源)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值