【发布时间】:2012-01-05 01:41:25
【问题描述】:
与页面内的脚本相比,插件/扩展有哪些额外的功能?它们本质上是脚本,那么是什么让它们如此特别?除了静态、工具栏上的按钮以及能够查看其他选项卡的位置之外,它们在页面上的脚本之外还提供了哪些额外功能?
【问题讨论】:
标签: javascript firefox google-chrome google-chrome-extension firefox-addon
与页面内的脚本相比,插件/扩展有哪些额外的功能?它们本质上是脚本,那么是什么让它们如此特别?除了静态、工具栏上的按钮以及能够查看其他选项卡的位置之外,它们在页面上的脚本之外还提供了哪些额外功能?
【问题讨论】:
标签: javascript firefox google-chrome google-chrome-extension firefox-addon
网站上的脚本通常是沙盒式的,并且它们的功能受到限制(出于安全考虑)。相比之下,扩展程序可以存在于沙箱之外,并与浏览器和系统进行更多交互。例如,某些扩展可以操纵浏览器历史记录、浏览器偏好、拦截和修改页面、访问剪贴板,甚至在系统上执行任意代码。查看Chrome extensions permissions warnings 可以让您很好地了解 Chrome 扩展可以做什么(以及大多数脚本不能做什么)。另请查看扩展程序可以访问的chrome.* APIs。
【讨论】:
这取决于浏览器。
例如,在 Firefox 中,扩展程序可以打开文件系统上的文件,向其中写入任意字节,然后将文件作为可执行文件运行。或者换一种说法,它可以做任何 Firefox 本身(或更一般地说,由运行 Firefox 的用户运行的任何程序)可以做的任何事情。
【讨论】:
扩展程序始终存在并且理论上适用于每个站点(或根本不存在站点),而页面中的脚本仅存在于该页面中。因此,除非您仅针对特定站点讨论非常特定的功能/脚本,否则插件更“可用”。
【讨论】: