草庐IT

javascript - 创建 Firefox Addon 以监视和修改 XHR 请求和响应

更新:我猜主题给出了一个错误的概念,即我正在寻找一个现有的插件。这是一个自定义问题,我不想要现有的解决方案。我希望编写(或更恰本地说,修改和现有的)插件。这是我的要求:我希望我的插件仅适用于特定站点页面上的数据使用双向哈希编码XHR请求加载了大量信息,有时显示在动画气泡等中。我的插件的当前版本通过XPath解析页面表达式,解码数据,并替换它们问题出在那些显示的气泡框上在鼠标悬停事件上因此,我意识到创建一个XHR可能是个好主意可以监听所有数据并即时解码/编码的桥经过几次搜索,我遇到了nsITraceableInterface[1][2][3]只是想知道我是否在正确的道路上。如果"is",

javascript - Firefox 扩展 : Cancel requests and emit fake responses

我正在尝试开发一个Firefox扩展,它将每个HTTP请求丢弃到某个站点并返回一个虚假的响应。任何请求都不应到达原始Web服务器,但我希望能够创建自定义响应。我试图拦截“http-on-modify-request”消息,但取消请求似乎不起作用,因为之后我无法模拟真实的响应。同样,使用nsITraceableStream实例,我似乎无法真正取消请求。我没有想法,有人可以帮忙吗? 最佳答案 自Firefox21起,以下答案已被取代,现在是nsIHttpChannel.redirectTo()method做得很好。你可以重定向到一个数据

javascript - 帮我创建一个 Firefox 扩展(Javascript XPCOM 组件)

我一直在看不同的教程,我知道我很接近,但我迷失了实现细节,因为其中一些有点过时,自Firefox3以来有一些事情发生了变化。我已经writtenthejavascriptforthefirefoxextension,现在我需要把它变成一个XPCOM组件。这是我需要的功能:我的Javascript文件很简单,我有两个函数startServer()和stopServer。我需要在浏览器启动时运行startServer(),在firefox退出时运行stopServer()。编辑:我已经用有效的解决方案更新了我的代码(感谢Neil)。以下内容在MyExtension/components/m

javascript - 用于 XML 文档的 getElementById,Mozilla 扩展

使用Mozilla中的DOMParser方法从XML字符串解析的DOM是否支持document.getElementById方法?我正在制作一个读取XML文件并使用DOM解析器将XML转换为DOM元素并尝试通过Id获取元素的Mozilla扩展。方法getElementsByTagName有效,但不适用于getElementById。它总是返回null。function(xmlString){varparser=newDOMParser();vardoc=parser.parseFromString(xmlString,"text/xml");varaNodes=doc.getEleme

javascript - 检查是否启用了 Firefox 3.5 附加组件

为了通知用户可能存在的冲突,我想让我的插件检查是否安装了另一个插件并启用。如果是这样,我可以根据用户的要求禁用它或我自己的:functiondisableExtension(id){varman=Components.classes["@mozilla.org/extensions/manager;1"];if(man){man=man.getService(Components.interfaces.nsIExtensionManager);}if(man){man.disableItem(id);}else{Components.utils.import("resource://g

javascript - 打开一个新的选项卡/窗口并向其中写入内容?

我正在使用ExecuteJS在Firefox中编写和测试Javascript代码。我想打开一个新的标签页/窗口并向其中写入一些内容,我试过了varwm=Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);varwin=wm.getMostRecentWindow("navigator:browser");printWindow=win.open("about:blank");printWindow=wm.getM

c++ - 如何在 Linux 中使用 COM ATL 项目?

我有一个小型C++库,它是在VisualStudio中作为ATL项目制作的。我想让它跨平台。它将用于Windows和Linux。它将包含在我的项目中,该项目使用Qt4.x。如何轻松转换库? 最佳答案 简短的回答:不容易。长答案:COM技术是Windows独有的技术,ATL是建立在它之上的。这意味着你不能在linux下编译/运行它,除非你使用Wine或类似的东西。这是您可以做的:您可以切换到XPCOM-COM技术的跨平台实现,由Mozilla平台实现。COM和XPCOM在Windows下是二进制兼容的(但仅当从XPCOM使用时-MSW

c++ - 如何在 Linux 中使用 COM ATL 项目?

我有一个小型C++库,它是在VisualStudio中作为ATL项目制作的。我想让它跨平台。它将用于Windows和Linux。它将包含在我的项目中,该项目使用Qt4.x。如何轻松转换库? 最佳答案 简短的回答:不容易。长答案:COM技术是Windows独有的技术,ATL是建立在它之上的。这意味着你不能在linux下编译/运行它,除非你使用Wine或类似的东西。这是您可以做的:您可以切换到XPCOM-COM技术的跨平台实现,由Mozilla平台实现。COM和XPCOM在Windows下是二进制兼容的(但仅当从XPCOM使用时-MSW

javascript - XPCOM C++多线程和javascript回调

背景在低于12.0的XULRunner版本中,它可以工作,但是当我尝试将它移植到12.0或更高版本时,它会导致应用程序崩溃。主要原因是在sdkv12或更新版本的开发者中删除了xpcom组件的代理对象并建议替换它通过使用nsRunnable/nsIRunnable包装对象并通过函数NS_DispatchToMainThread将调用路由到主线程(单击here)我在开发什么?我创建了异步的数据库连接器,并通过回调与主线程通信。使用:XULRunnerv6,移植到XULRunnerv17或以上//nsIDBCallback.idl[scriptable,function,uuid(XXXXX