javascript - Firefox 扩展中 loadSubScript 和 loadFrameScript 之间的区别

标签 javascript firefox-addon

我知道这两个 api 都是用来将 Javascript 注入(inject)到网页中的。 Firefox 扩展开发中 loadSubScript 和 loadFrameScript 有什么区别?您会在什么情况下使用它们?

最佳答案

我假设您问的是 mozIJSSubscriptLoader.loadSubScript()nsIChromeFrameMessageManager.loadFrameScript() 。这是两种完全不同的机制,唯一的相似之处是都可以加载和执行代码。

mozIJSSubscriptLoader 并不意味着将代码加载到网页中 - 它的主要目标是动态加载扩展的部分内容。这是一个非常古老的机制,甚至早于 JavaScript code modules .

loadFrameScript() 的目标是加载内容脚本,但最初引入是为了支持多进程设置 ( e10s project )。它将加载将在网页上下文中以网页权限运行的脚本。无法与加载它的代码进行直接交互,只能进行消息传递。

关于javascript - Firefox 扩展中 loadSubScript 和 loadFrameScript 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340550/

相关文章:

Firefox 3 中的 JavaScript 调试?

Firefox 检查插件的网络流量

javascript - 在 Firefox 附加组件 SDK 中使用 port.on 传递数据

javascript - 如何在 Firefox 扩展中使用 nsITimer?

javascript - 加载图像时的砌体

javascript - D3 在过渡时从时间尺度中删除旧元素

Javascript 再次执行函数(倒计时)

javascript - 如何用axios显示响应错误信息

javascript - jquery每个regexp href同时检查一些字符串

javascript - 消息管理器 API sendAsyncMessage 回调