编辑现有的 Firefox 插件

2024-05-10

对于我正在从事的项目之一,我必须使用 DOM Inspector 来调试 Firefox 扩展。

DOM 检查器的问题在于,它只向您显示代码下方的浏览器,无法分离浏览器或并排显示代码部分或浏览器。

它对我不起作用,因为我正在调试的插件有一个很大的 xul 覆盖层,并且有问题的区域位于底部,因此没有物理方法可以查看该区域的代码以及该区域本身。

所以我决定修改 DOM Inspector 本身,将浏览器放置在代码编辑器的一侧。

以下是我采取的步骤:

  1. 从配置文件目录中获取现有的 xpi 文件。
  2. 改成zip了。
  3. 进去并提取inspector.jar using jar -xf <filename>
  4. Went to inspectorOverlay.xul并改变了<vbox id="bxInspectorMain">成为一个 hbox。 (这应该足以水平放置这两个窗口。)
  5. 然后我使用重新创建了jar文件jar cf.
  6. 压缩目录,确保名称相同,并将扩展名更改回 xpi。

但是,当我尝试运行它时,我收到以下警告:

Warning: WARN addons.xpi: Add-on is invalid: [Exception... "Component returned failure code: 0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) [nsIZipReader.getInputStream]"  nsresult: "0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)"  location: "JS frame :: resource://gre/modules/XPIProvider.jsm :: loadManifestFromZipReader :: line 740"  data: no]
Source File: resource://gre/modules/XPIProvider.jsm
Line: 740

Warning: WARN addons.xpi: Could not uninstall invalid item from locked install location
Source File: resource://gre/modules/XPIProvider.jsm
Line: 2042

我的问题是 - 通常我还需要进行哪些其他更改才能正确解释 xpi?


压缩目录,确保名称相同,并将扩展名更改回 xpi。

我猜你在这一步做错了什么。看着源代码 http://mxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/XPIProvider.jsm,消息来自方法updateMetadata()- Firefox 注意到文件发生了变化并尝试读入install.rdf再次。该文件应该位于 XPI 文件的顶层,但在您的情况下找不到它。或许install.rdf重新打包文件后,不再位于顶层。您可以使用以下命令进行测试unzip命令:

unzip -l [email protected] /cdn-cgi/l/email-protection

它应该显示 XPI 文件的内容,包括install.rdf and chrome.manifest- 没有任何前缀的目录名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编辑现有的 Firefox 插件 的相关文章

  • 在 Selenium Node JS 中打开 gecko 驱动程序的日志记录

    我目前正在使用Selenium 与 Node Js and FireFox并想打开日志记录功能壁虎司机 但我不确定如何 另外我还想知道在哪里可以找到日志 目前这是我实例化驱动程序的方式 var fOptions new firefox Op
  • 在 Firefox 中单击桌面通知时如何将焦点移至选项卡?

    我正在一个网站中实现桌面通知 该网站会在新消息到达时显示通知 我希望当用户单击通知时 打开网站的浏览器选项卡能够获得焦点 我可以使用以下代码在 Chrome 中实现此功能 var n new Notification Title body
  • 如何使用 xpcom 更改 Firefox 代理设置

    我有一个在本地主机 127 0 0 1 上运行的代理服务器 并且我有累了必须培训用户如何在 Firefox 中切换代理以绕过被阻止的网站 我决定写一个插件 我想知道如何使用xpcom告诉 Firefox 使用某个代理 例如对于 http 请
  • Firefox 和 JavaScript 重定向

    我目前在使用 Firefox 时遇到问题 所有其他浏览器都以正确的方式运行 甚至 IE6 我想要做的是重定向到子页面但留下历史记录条目 据我所知 有两种重写url的方法 window location some url 重定向到带有历史记录
  • 背景重复 x/y 在 Firefox/Safari 中不起作用

    我有下面的代码表明background repeat x y由于某些原因 它在 FireFox 上不起作用 它只是删除了这些样式 但并不是说它们是不正确的 它们没有在某处被覆盖 当我尝试将这些风格结合在一起时 background 它也将其
  • Selenium 3.7 和 Firefox ESR 52.4.1 是否需要 geckodriver?

    我的理解是 当使用Selenium WebDriver来自 NuGet 的 v3 7 我需要当前版本的 geckodriver 才能与 Firefox ESR v52 4 1 交互 但是 我已经成功运行测试并成功通过withoutgecko
  • -moz-background-clip:text 在 Firefox 中不起作用

    我正在尝试用图像填充 h1 标签中的文本内容 根据我的理解 我在 html 中执行以下操作 div class image clip h1 MY WONDERFULL TEXT h1 div 并在 css 文件中 image clip ba
  • Firefox 中的相对位置[重复]

    这个问题在这里已经有答案了 可能的重复 Firefox 是否支持表格元素上的position relative https stackoverflow com questions 5148041 does firefox support p
  • 如何在 Firefox 中缩放 SVG 背景图像而不考虑宽高比?

    我有一个CSSbackground image设置在具有流体高度和宽度的元素上 它是一个 SVG 预期的行为是让它向任何必要的方向拉伸以覆盖整个元素的区域 在 Chrome Safari 甚至是糟糕的 Internet Explorer 9
  • Firefox 渲染出错 - 看到一些非常奇怪的东西

    我的以下情况真的很奇怪 基本上 当我查看页面的源代码时 一切看起来都很好 但页面看起来完全错误 所以我决定使用 firebug 查看源代码 而 firebug 显示了一个非常不同的故事 但是 如果我刷新页面 页面看起来很好 并且源和萤火虫匹
  • 通过浏览器的“BACK”功能加载页面时触发 onload 脚本(js 或 jQuery)

    当通过浏览器的 后退 按钮或键盘命令到达页面时 我找不到执行脚本的方法 背景 我需要知道是否使用浏览器的 后退 按钮或键盘命令打开页面 然后我可以检查存储的 sessionStorage 变量并触发一些适当的内容 例如 如果我将其放入我的页
  • Javascript Firefox - 如果 @import 存在于样式表中,则无法查询 cssRules - bug 或预期行为?

    如果 import 存在于 css 样式表中 我无法查询 cssRules 是否符合网络标准 或者知道 Firefox 的限制 注意 我正在从同一域导入 css 文件 var style rules document styleSheets
  • 编辑现有的 Firefox 插件

    对于我正在从事的项目之一 我必须使用 DOM Inspector 来调试 Firefox 扩展 DOM 检查器的问题在于 它只向您显示代码下方的浏览器 无法分离浏览器或并排显示代码部分或浏览器 它对我不起作用 因为我正在调试的插件有一个很大
  • 无法在 Firefox 中显示我的 svg 图像?

    我无法在 Firefox 中显示我的 svn image 它在 Safari 和 Chrome 中工作正常 没有 IE 所以还没有测试过 它在我的html中是这样实现的 img 类 logo1 src images logo6 svg 其中
  • 每次用户在地址栏中按 Enter 时,Firefox 插件都会执行某些操作

    我正在尝试编写一个扩展程序 用于监视每次有人在使用地址栏时按下回车键时的情况 步骤将类似于 用户在地址栏中输入一堆文本并按 Enter 键 我的插件启动并接收用户输入的内容 然后我的插件决定如何处理用户输入的字符串 我通过使用在步骤 2 中
  • 这个 HTML5
    元素有什么问题?

    div div
  • 我可以在不同浏览器中获得一致的 CSS 颜色吗?

    我正在测试一个新网站 并且我有一个 div background color bbf6bb 这对我来说似乎无害 然而 在我的 MacBook Pro 上 Firefox 3 6 与 Safari 4 中的颜色看起来非常不同 在 Safari
  • Firefox CSS 大纲错误?

    在 Chrome 和 IE9 上 我指定的 CSS 轮廓完全符合我的要求 并充当我正在设计的元素周围的第二个边框 但在 Firefox 上 轮廓会向外扩展 以便包含我生成的 after 伪元素以及主元素 这是一个错误 还是预期的 有什么好的
  • 文本的彩虹色

    rainbowtext background image webkit gradient linear left top right top color stop 0 f22 color stop 0 15 f2f color stop 0
  • 哪个 Firefox 版本与 Selenium 2.48.0 兼容

    谁能帮我 哪个 Firefox 版本与 Selenium 2 48 0 兼容 Selenium WebDriver 2 48 支持到 firefox 41 0 版本 有关更多详细信息 请查看 selenium webdriver 的更新日志

随机推荐

  • SQL,帮助进行有关用户年龄的小查询

    我有一个包含注册用户的表 其中我将年份保存为 varchar 值 只是因为我只花了一年 我想创建包含年龄的饼图 以显示哪些用户更有可能注册 下面的查询给出了表中出现超过 5 次的用户年龄计数 以避免结果过小 虽然这些小结果低于 having
  • AVX-512CD(冲突检测)与原子变量访问有何不同?

    所以我在看他们展示了如何 void Histogram const float age int const hist const int n const float group width const int m const float o
  • 在 phpmyadmin 中将字段设置为 Not NULL

    我找不到可以在 phpmyadmin 中将字段设置为 NOT NULL 的位置 我想让我的数据库控制这个功能 我正在以编程方式执行此操作 但我相信这可以为我的系统添加额外的安全层 在 结构 选项卡中编辑字段时 查找 NULL 复选框 未选中
  • Maven + Cobertura:无法找到[您的班级]。你指定了源目录吗?

    我有 MyMath 类 有两个简单的方法 multi 和 add 和测试类只会测试多种方法 public class MainTest Test public void testMultiply MyMath tester new MyMa
  • 批评我的非侵入式堆调试器

    这是后续批评我的堆调试器 https stackoverflow com questions 2830272 critique my heap debugger从昨天 根据 bitc 的建议 我现在将有关已分配块的元数据保存在单独的手写哈希
  • 如何在 SoapUI 中测试使用 JWT 的 REST 服务?

    我正在实施一些 REST 服务 我所有的测试都是使用 SoapUI 进行的 最近 我决定采用 JSON Web Token JWT 进行身份验证 但我在 SoapUI 上找不到对此的任何支持 本机安装或插件 什么也没有 我发现了一些在线生成
  • PhantomJS 无法打开 HTTPS 站点

    我使用以下基于 loadspeed js 示例的代码来打开一个 https 站点 该站点也需要 http 服务器身份验证 var page require webpage create system require system t add
  • 如何在Spring的applicationContext.xml中指定默认范围来请求范围?

    我想让所有 bean 请求默认作用域 但是 Spring 文档说默认作用域是 Singleton 第 3 4 1 和 3 4 2 节http static springsource org spring docs 2 5 x referen
  • 当强制 RVO 应用于延长临时生命周期的引用时会发生什么?

    当用另一个延长临时生命周期的引用来初始化一个引用时 这个新引用不会扩展任何内容 但是 当强制 RVO 阻止引用被复制时会发生什么 考虑这个例子 在 gcc godbolt org 上运行 https gcc godbolt org z OY
  • 如何授予用户访问 SQL Server 中的 sys.master_files 的权限?

    我需要授予数据库用户读取权限sys master files桌子 我怎样才能做到这一点 目前用户拥有以下权限 Calling SELECT on sys master files返回空结果 我还使用以下命令测试了相同的查询sa用户按预期工作
  • 使用composer create-project安装特定的laravel 5版本

    今天我尝试安装特定的 laravel 版本composer create project laravel laravel 5 1 8 your project name prefer dist 因为有些插件在5 1 9及以上版本有问题 但是
  • JUnit Eclipse 显示 System.out.print() 的

    我正在使用 JUnit 3 和 Eclipse 3 4 当我运行 JUnit 测试用例时 一切正常并且测试完美完成 唯一的事情是我想查看我正在运行的类的输出 所有类都具有一些输出值的基本 System out print 因此 当我运行测试
  • 安卓市场。 Google Checkout 和银行帐户

    请原谅 这不是一个编程问题 但它仍然与软件开发有关 所以我希望它没问题 为付费应用创建 Android 开发者帐户意味着注册一个 GoogleCheckout 帐户 这又意味着将其链接到来自这 31 个符合条件的国家 地区之一的银行帐户 有
  • 将终端颜色扩展到行尾

    我有一个生成 motd 的 bash 脚本 问题取决于某些终端设置 我不确定颜色是否会延伸到行尾 其他时候则不然 e g v s IIRC 一个只是普通的 gnome 终端 另一个是我的 tmux 术语 所以我的问题是如何才能将其扩展到 8
  • 计算数据框中每一行的 R 条件运行总和

    我想创建一个等于 data Rating 的运行总和的列 假设第 3 列和第 4 列中有两个条件成立 特别是 data Year 换句话说 这应该计算直到上一年为止每个 id 的评分累积总和 它应该对数据框中的每一行 大约 50 000 行
  • Rails——理解 db:migrate

    我在理解 Ruby on Rails 中的迁移时遇到了一些困难 我的应用程序中有以下两个类db migrate 目录 存储在单独的文件中 class CreateUsers lt ActiveRecord Migration def sel
  • 如何从本地电脑获取蓝牙mac地址?

    我想获取运行我的应用程序的电脑上蓝牙设备的 MAC 地址 我已经尝试过以下方法 private void GetMacAddress string macAddresses foreach NetworkInterface nic in N
  • 如何查找分布式dask中任务失败的原因?

    我正在开发一个分布式计算系统dask distributed 我通过以下方式提交给它的任务Executor map功能有时会失败 而其他看起来相同的功能却可以成功运行 该框架是否提供了诊断问题的方法 update我所说的失败是指增加 Bok
  • 有没有一种方法可以在不停机的情况下更新 net/http 服务器中的 TLS 证书?

    我有一个简单的 https 服务器 提供一个简单的页面 如下所示 为简洁起见 没有错误处理 package main import crypto tls fmt net http func main mux http NewServeMux
  • 编辑现有的 Firefox 插件

    对于我正在从事的项目之一 我必须使用 DOM Inspector 来调试 Firefox 扩展 DOM 检查器的问题在于 它只向您显示代码下方的浏览器 无法分离浏览器或并排显示代码部分或浏览器 它对我不起作用 因为我正在调试的插件有一个很大