我知道这两个 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/