【问题标题】:How to replace a javascript file request with contents from another file in a FF addon?如何用 FF 插件中另一个文件的内容替换 javascript 文件请求?
【发布时间】:2010-06-26 05:42:36
【问题描述】:

我正在寻找有关如何将特定 javascript 文件的请求替换为我将与 Firefox 插件一起打包的另一个文件的一些指导。

【问题讨论】:

  • 你的意思是例如某些 HTML 页面会尝试使用 <script> 标记加载 somesite.com/somefile.js,但您的插件会拦截该请求并完全提供另一个文件(来自插件)?
  • 我对此很感兴趣。非常适合分发网络应用程序的 CSS/Javascript/图像部分,从而减轻网络连接不佳/缓慢(例如非洲、太平洋岛屿)的用户的负载
  • @Vlad 你是对的,它专门用于 ga.js。我想制作一个插件来禁用 GA。
  • @Damo 我也在想同样的事情,可以加快库加载等。

标签: firefox firefox-addon xul firefox-addon-sdk


【解决方案1】:

请参阅How can I implement a content converter in Firefox for all page elements?(它的范围比您真正需要的要广泛得多——请继续阅读)了解如何使用registerFactory 注册代理HTTP protocol handler,然后它可以用备用(例如file:///... -type) 当newChannel 使用您的特定脚本的URI 调用时的URI。

【讨论】:

  • 那么当 locationURI 是 ga.js uri 时,替换 var newchannel = this.savedHttpHandler.newChannel(locationURI); 中的 newchannel?并将其替换为扩展中包含的本地副本的频道?
  • 没错。另一种选择是重写 DOM 中的<javascript> 节点,但我认为在这种情况下协议工厂更简单、更通用。
  • 感谢此信息的帮助,我会尽快尝试。
猜你喜欢
  • 2017-05-25
  • 1970-01-01
  • 2012-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 2013-01-10
相关资源
最近更新 更多