
插件及firefox插件1.关于软件A.概念插件是一种遵循一定完善的应用程序接口编写出来的程序。为了阅读方便,本文使用标题手工转换。插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种电脑程序,通过和应用程序(例如网页浏览器,电子邮件服务器)的互动,用来替应用程序增加一些所应该的特定的功用。最常用的有游戏、网页浏览器的软件和媒体播放器的组件。B.机制和机理应用工具提供使软件无法应用的各项服务,其中包含提供读取模式,使软件可以加载到应用程序和网路传输协议中,从而和软件进行数据交换。插件需要依赖于应用程序才能发挥自身功用,仅靠插件是能够正常运行的。相反地,应用程序并不需要依赖软件就可以运行,这样一来,插件就可以读取到应用程序上使得动态升级而不会对应用程序造成任何改变。公开应用程序接口提供一个标准的图标,允许其他人编写软件和应用程序互动。一个稳定的应用程序接口会允许 其他软件正常运行只要其最初的版本有所变动,也会支持软件延长老旧的应用程序的使用寿命。Adobe Photoshop 和After Effects的组件应用程序接口逐渐作为标准,并且被一些和它们竞争的应用程序部分采纳。

另外一些象这样的应用程序接口包含Audio Units 和VST。就好比一个网络转换器也许会运载一个未被占用但不标准的端口来容纳各种任选的物理层连接器。而游戏和个别应用程序经常使用软件的机制结构来禁止最初的发行者和第三方发行者增加功能性。生产厂商可以用软件来形成卖方锁定,就是通过选取限制升级这个选项使得厂家达成的买家才可以升级使用其产品。IBM 的Micro Channel Architecture,从技术上来会说,比Industry Standard Architecture更为先进,可以给IBM的个人电脑添加组成realplayer插件,但是因为很难给第三方的装置设备获得证明而无法大面积推广。微软的Flight Simulator 系列比较知名就是因为它可以下载aircraft 附件。C.网页浏览器插件Netscape 各版本的浏览器、Mozilla Suite 与 Mozilla Firefox 浏览器 、Opera 浏览器都允许用户使用软件,以提高浏览器功能。最常安装的外挂有 Macromedia Flash 播放器和 Java 运行时刻环境 (JRE). 另外也有使浏览器能读取 Adobe Acrobat 的组件、RealPlayer 的软件等。

D.媒体播放器插件Winamp音频播放器、foobar2000音频播放器都支持软件,用来加载更多的音频格式、显示更多的音频文件信息〔例如编码器信息、专辑封面等〕。E.例子许多工具都提供给开发者撰写插件所应该的 API,目的是为了扩展工具的用途。以下是应用程序及其组件的实例:电子邮件服务器 通过使用软件来进行加密和破译(对隐私保护非常有效) 图形硬件使用软件来支持不同文件格式,处理照片(Adobe Photoshop) 影音播放器使用软件来支持不同文件格式,并且提供过滤器。 数据包监测器用软件来对数据包进行解码(omniPeek) 远程感知应用程序用软件来处理不同类型的感应器发送的数据(Opticks) 软件研发环境用组件来支持编程语言(Eclipse,jEdit,MonoDevelop ) 网络浏览器使用软件来播放视频及其它格式(Flash,QuickTime) 提供组件功能的一些工具:igLoader Macromedia Dreamweaver、Macromedia Flash等Macromedia公司(现为Adobe公司)的软件 Adobe Acrobat、Adobe Illustrator、Adobe Photoshop等Adobe公司的硬件 Digidesign Pro Tools Eclipse jEdit 程序编辑器 NetBeans plug-in modules Winamp、foobar2000、XMMS 等媒体播放器 Viewpoint3D Mailamp Notepad++ 程序编辑器 F.开发框架C++FxEngine Framework - a dataflow processing Framework Qt PlugIns - part of TrollTech's Qt Framework DelphiTMS Plugin Framework JavaPythonSetuptools The Twisted Plugin System Sprinkles Python plugin system .NETAL Platform Mono Addins - 一个 addin framework 可支持 .NET 与 Mono Code Project .NET Based Plugin Framework Active VisicActive Visic 2.浏览器插件A.IE插件软件类别 (1)*.ocx——网页浏览时才能后台手动调试、用户可能能够发现。

*.dll——网页浏览时才能后台手动调试、用户可能能够发现。 *.cab——网页浏览时才能后台手动调试、用户可能能够发现。 *.exe——需要下载能够安装、安装权受客户控制。 注册表键值——有网站或程序通过控制nwscript.exe、cscript.exe、wscript.exe、regedt32.exe、regwiz.exe、regsvr32.exe、reg.exe、regini.exe、来设置注册表键值。(代表作:首页被强制更改)Unix上 *.so指定目录下寻求firefox插件遵循NPAPI标准。NPAPI全拼? Netscape-plug-in API Support全称为:Netscape Plugin Application Programming Interface (NPAPI), Netscape Navigator 浏览器早已离我们远去,但Netscape plug-in 却还顽强的活着,并且作为绝大多数浏览器都支持的跨平台插件标准,其中最常见的N插件莫过于 Flash 了。 现在 Qt 4.5 中支持了N插件,最直观的改变就是在 Qt Demo Browser 中原本应当显示 Flash 的位置不会再是一片空白了。

Plugins (or plug-ins) are shared libraries that users can install to display content that the application itself can't display natively. For example, Adobe Reader plugin lets the user open PDF files directly inside the browser, and the QuickTime and RealPlayer plugins are used to play special format videos in a web page.Plugins are written using NPAPI, the cross-browser API for plugins.参考网页:/en/PluginsWindows下vs2008开发环境应该下载Gecko SDK参考网页: /en/Gecko_SDK我下载的版本是windows Gecko 1.9.2 (Firefox 3.6)文件名称xulrunner-0.en-US.win32.sdk.zip解压后的文件名称 xulrunner-sdk减压后将文件放置在目录: C:\Program Files\xulrunner-sdk注意:A.SDK包含了所有的源代码(包括npaipi.h和其它编译连接的文件)B.官方只公布了这几个平台的SDK,其它系统应该自己制定。
建立的方式参考:/En/Developer_Guide/Build_Instructions5.firefox插件开发实例(VS2008)A.npruntime.dll(1)下载软件案例npruntime下载网页/mozilla-central/source/modules/plugin/sdk/samples/注意:下载实例时查看Makefile.in文件,下载所有应该的文件,文件有可能在samples目录下的其他文件中包括basic、common、include中。(2)vs2008中新建工程win32 console application 工程名称runtime(3)点击OK后application type选择 dll;additional options选择empty project然后单击finish皆可创建项目。(4)把今天下载的实例文件放置于F:\VS2008\runtime 目录下(5) 在vs2008的项目runtime中加入很多文件(6)修改项目属性i. c++->general->aditonal include directories 加入Gecko GDK的include文件ii.c++->preprocessor->preprocessor definition 中降低下述 预定义宏XP_WIN32;MOZILLA_STRICT_API;XPCOM_GLUE;XP_WIN;_X86_;否则编译不能通过iii. linker->general->outputfile 的内容改为$(OutDir)\np$(ProjectName).dll 因为在windows环境下firefox识别的软件名称是以np开头的。
iiii linker-> input ->Module Definition File 的内容设置为F:\VS2008\runtime\nprt.def属性更改完成,点击确认后编译程序就可以生成npruntime.dll了iiiii 将npruntime.dll放置在firefox的plugins目录下,用firefox打开test.html(7)使用vs2008 调试软件的方式设置项目属性Debugging->command 为C:\Program Files\Mozilla Firefox\firefox.exeDebugging->command arguments 为$(SolutionDir)\test.html确定后就可以安装firefox插件了。6.firefox插件部署将plugins打包成xpi文件(1)将所有应该的dll放置到plugins目录查看开启软件应该的dll的方式有:A.调试的之后调用输出信息,在输出信息中查看B.使用软件 B1.用谷歌的Dependency Walker tool软件,就是一个depends.exe的程序/B2.查看启动dll的软件暂时?????我使用的是第一种方法 用户在开启软件的 时候dll可能没有C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll因此将上述dll和npruntime.dll放置于plugins目录下(2)写install.rdf(安装描述文档)文件Rdf的文档书写方式可以参考网页/Install.rdf /2008/09/plugin-firefox-plugin.html/blog/348304/firefox/ /%E5%A6%82%E4%BD%95%E6%92%B0%E5%AF%ABinstall.rdf 我的rdf文档的内容如下em:id 或者为 GUID号码,或者为上述格式(3)用命令生成 firefox自动调试文档在命令行中执行这个命令jar cvfM npruntime.xpi -C ./ *.*或者上级make.bat文件注意:执行此命令 需要JDK,并且将环境变量 Path设置好Path C:\Program Files\Java\jdk1.5.0\bin;将*.xpi文件存放与网页目录下或者使用相对模式(4)test.html页的内容设置为我的pluginspage是:Npruntime.xpi (5)在服务器上推进后,访问服务器的网页(服务器操作系统是window xp)安装软件(6)如果不手动调试的处理方案A. 直接拖拽到Firefox浏览器的窗口里或扩展窗口里B. 击 '菜单"--"工具"--''扩展'',把.xpi文件拖进跳出窗口里,稍后就可以看见Firefox会提问你能否要安装这个软件,点击是,并重启Firefox浏览器C. 鼠标单击点xpi文件,选开启方法realplayer插件,在关掉方式里选firefox,设置关联。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-120546-1.html
我在上海
5c都不卡