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

标签 firefox firefox-addon browser-plugin browser-addons

在 Firefox 中有插件和扩展。你能解释一下为什么这些插件有不同的名称和标签吗?它们是否差异如此之大,以至于需要不同的名称?我认为区分这些东西有点不自然,扩展具有越来越多的功能,与插件相比它们缺少什么?

最佳答案

差异既是历史的,也是现实的:

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

  • 因此,尽管插件和扩展看起来是相关的,但它们在幕后是非常不同的技术。

    关于firefox - Firefox 扩展和插件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120106/

    相关文章:

    python - RaspberryPi3 上的 WebDriverException : Message: invalid argument: can't kill an exited process with GeckoDriver, Selenium 和 Python

    javascript - 突然禁止设置 XMLHttpRequest.responseType?

    javascript - 如何创建 blob : url for local file with FF ext

    firefox-addon - 安装过程中出现错误: Extension is invalid - Unknown error

    firefox - 使用 Add-on SDK 添加工具栏按钮?为 Firefox 附加组件集成 XUL 和附加 SDK?

    linux - 如何在另一个Linux系统上部署.so浏览器插件

    c# - 使用 Visual Studio 创建您自己的 Firefox 插件

    javascript - 刷新附加 SDK 中的 contenturl

    javascript - 哪个js文件运行在页面的哪个元素上