我需要扩展firebug以使用从网页中提取的链接(当从页面中的任何链接下载时发送)将其发送到将要下载它的另一台机器。我打算使用萤火虫为我提取这个链接。如果有任何其他的方式,我可以从浏览器中获取这些信息,即使是这样,我们将不胜感激。如何为Firebug创建扩展
0
A
回答
0
实际上,它的坏主意使用事件来检测HTTP请求等功能,Firefox的强大功能xul语言使您能够检测所有浏览器请求/响应,然后您可以决定从请求/响应标题:
你可以使用“http-observe”巫婆其实Firebug用于网络面板
- 这里是mozilla MDN中的“http-observe”的链接[https://developer.mozilla.org/en/ Setting_HTTP_request_headers] [1]
- 这里也为一个简单的例子 “HTTP-观察”
// first create observerService component as a property into your extension javascript object
var myExtension = { observerService:Components.classes["@mozilla.org/observerservice;1"].getService(Components.interfaces.nsIObserverService),
init:function(){
// in the init function setup the observe service and set witch javascript object is the listener for http response for example "this"
this.observerService.addObserver(this,"http-on-examine-response", false);
this.observerService.addObserver(this,"http-on-examine-cached-response", false);
},
observe: function(aSubject, aTopic, aData){ // the observe function
if (aTopic == "http-on-examine-response" || aTopic == "http-on-examine-cached-response"){
var httpChannel = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
var URI = httpChannel.originalURI.spec;
if (aSubject.loadFlags & httpChannel.LOAD_INITIAL_DOCUMENT_URI){ // this detect if the response is primery request
var contentType = httpChannel.getResponseHeader("content-type"); // check the heder content-type
if (contentType == "what ever you want"){ // you can check if it zip/html/xml ...etc
//do what ever you want
}
}
}
}
}
2
错字在上面的回答观测服务电话应改为:Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService);
获得观察员服务使用
参考:https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIObserverService
相关问题
- 1. 如何创建类似Firebug的底部窗口Firefox扩展
- 2. 如何为ToString创建扩展方法?
- 3. 如何为扩展创建委托?
- 4. 如何为Thunderbird/Lightning创建扩展
- 5. 如何为iOS创建safari扩展?
- 6. 如何创建Devise扩展?
- 7. 如何创建jinja2扩展?
- 8. 如何创建Dreamweaver扩展?
- 9. 如何创建扩展MKMapView
- 10. 如何从Firebug扩展中删除fbLocationList
- 11. 如何使用Firebug调试Firefox扩展?
- 12. 如何更改FireBug扩展的css类的FireBug表示形式?
- 13. JSON Firebug扩展的Domplate
- 14. 创建IE扩展
- 15. 创建Spree扩展
- 16. 如何用Razor创建HtmlHelper扩展?
- 17. 如何创建持久扩展页面?
- 18. 如何创建可扩展列表?
- 19. 如何在C#中创建扩展?
- 20. 如何创建一个扩展功能
- 21. 如何创建扩展jQuery函数
- 22. 如何创建扩展文本框?
- 23. 如何创建自动扩展块
- 24. 如何创建扩展边栏菜单
- 25. EMF:如何扩展创建子命令?
- 26. 如何使用树枝创建扩展
- 27. 如何创建Magento 2扩展?
- 28. 如何创建扩展方法(F#)?
- 29. 如何创建可扩展表单?
- 30. 如何创建扩展类的实例?
您正在寻找的下载管理行为的自定义类型。我没有看到Firebug与它有什么关系。 –
您可能会使用Firebug来帮助开发扩展程序,但这听起来不像是需要扩展萤火虫的东西。您可能想要完整扩展或使用GreaseMonkey。 – joshhendo
如果不是萤火虫,那么当用户点击一个链接进行下载时,有没有办法检测到下载从何处开始的链接。 – SThomas