Firefox扩展和插件有什么区别?

Tom*_*ski 22 firefox firefox-addon browser-plugin browser-addons

在Firefox中有插件和扩展.你能解释一下为什么这些插件有不同的名称和标签吗?它们之间是否存在差异所以它们需要不同的名称?我觉得区分这些东西有点不自然,扩展有如此多的功能,他们缺少与插件相比的东西?

Pis*_*3.0 31

不同的是历史和现实:

  • 插件是可编译的,可加载的模块,最初来自NPAPI ; 它们可以存在于浏览器的进程空间之外(这会导致各种有趣的互操作性问题和虚弱性).其中最常见的例子是Flash和Java - 它们都canvas在网页内部请求一个子窗口("视口"或"画布"(不是HTML5的- 完全是其他的东西:网页的原生部分))并自己处理,以一种很大程度上独立于浏览器的方式.
  • 扩展主要用JavaScript和XUL编写.由于扩展程序是浏览器的一部分,因此它们具有比JS-in-a-pagepage更广泛的访问权限,但它们仍然受到一些限制.最常见的集成方式是挂钩FF功能的某些部分并对其进行扩展.

因此,虽然插件和扩展可能看似相关,但它们在幕后是非常不同的技术.


Mic*_*son 11

根据Mozilla的说法,插件可以帮助浏览器显示内容,例如播放媒体.扩展实际上为浏览器添加了新功能.

请参阅前几段:https: //developer.mozilla.org/en/extensions


I G*_*ERS 5

一个是与firefox并排运行的程序.他们得到一个画布,当他们在画布上画画时,firefox渲染它.值得注意的例子:Flash,Java,QuakeLive.

另一个是在firefox的javascript解释器/编译器中运行的程序.它们更直接地扩展了firefox功能,因为它们可以访问firefox内部,而不仅仅是一个画布.此外,它们更便携,因为它们不需要操作系统的底层支持.

这两种方法都有优点和缺点,它们可以解决不同的任务.