我知道这两个API均用于将Javascript注入网页。 Firefox扩展开发中的loadSubScript和loadFrameScript有什么区别吗?您会在哪种情况下使用它们?
最佳答案
我假设您正在询问mozIJSSubscriptLoader.loadSubScript()和nsIChromeFrameMessageManager.loadFrameScript()。这是两种完全不同的机制,唯一的相似之处在于两者都可以加载和执行代码。mozIJSSubscriptLoader
并非旨在将代码加载到网页中-其主要目的是动态加载扩展程序的一部分。这是一个非常古老的机制,甚至早于JavaScript code modules。loadFrameScript()
的目标是加载内容脚本,但是最初引入该脚本是为了支持多进程设置(e10s project)。它将加载将在网页上下文中以网页特权运行的脚本。与加载的代码没有直接交互的可能,只有消息传递。