问题标签 [firefox-addon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - XPCSafeJSObjectWrapper 做什么?
Mozilla Firefox 的 XPCSafeJSObject 包装器实际上做了什么?
MDC的文档如下:
创建此包装器是为了解决 XPCNativeWrapper 的一些问题。特别是,一些扩展希望能够安全地访问非本机实现的内容定义对象(以及访问 XPCNativeWrapper 下的底层 JavaScript 对象而无需其强大的行为保证)。XPCSJOW 充当 chrome 代码之间的缓冲区。
这并没有告诉我很多。特别是,我不知道通过 XPCSafeObject 访问对象与直接访问它们有何不同。
编辑:我知道包装器的一般目的是保护特权代码免受非特权代码的影响。我不明白(并且似乎没有记录)是XPCSafeJSObject 究竟是如何做到这一点的。
它只是在访问属性之前放弃特权吗?
firefox - 保护 FF 扩展中的 Javascript 代码
我希望保护我的 Firefox 扩展程序的代码,因为它有服务器调用,如果有人可以将它们放在扩展程序之外,则不会有安全风险。关于如何加密它的任何建议?
firefox - 您如何打包和自托管您的 Firefox 扩展程序?
我正在开发一个特定于站点的 Firefox 扩展。addons.mozilla.org 的官方托管/更新机制强制我的用户登录以下载我的插件(直到它被批准为公共状态),这对我不利,特别是因为我的插件不太可能被认为对整个网络,并将永远卡在沙箱中。
似乎我被迫使用McCoy(一个仅 GUI 的程序)来签署我的一些工件并使用 openssl 创建一个哈希,我在签署之前手动插入到 update.rdf 中。我真的很想拥有一些工具,我可以坚持在我的自动化构建过程中,而不需要我每次手动步骤。是否有一个开源工具可以模仿 addons.mozilla.org 的行为,我可以将其用于自托管?或者我可以在部署之前从我的构建中调用的一组命令行工具(在 OS X 上工作)?
很高兴有你在这个过程中的任何经历......你现在是怎么做的?你试过什么?什么有效,什么无效?
javascript - 获取页面上的选定文本和选定节点?
选择一块文本(可能跨越许多DOM节点)时,是否可以使用JavaScript提取所选文本和节点?
想象一下这段 HTML 代码:
如果用户从“World...”开始启动 mouseDown 事件,然后在“there!”之后启动 mouseUp,我希望它会返回:
我尝试将 HTML 放入 textarea 中,但这只会让我获得 selectedText。我没有尝试过该<canvas>
元素,但这可能是另一种选择。
如果不是 JavaScript,有没有办法使用 Firefox 扩展来实现?
javascript - 检测加载 iframe 内容失败
我可以使用load事件检测 iframe 的内容何时加载。不幸的是,就我的目的而言,这有两个问题:
- 如果加载页面时出现错误(404/500 等),则永远不会触发 load 事件。
- 如果某些图像或其他依赖项无法加载,则加载事件将照常触发。
有什么方法可以可靠地确定是否发生了上述任何一个错误?
我正在编写一个基于 Mozilla/XULRunner 的半网页半桌面应用程序,因此欢迎仅在 Mozilla 中工作的解决方案。
firefox - 如何使用 XUL/Firefox 扩展执行页面的后台加载和抓取
我想抓取 SO 的用户页面,以向我的工具栏的所有者提供有关他们的问题/答案/等的更新信息......
这意味着我需要在后台执行此操作,解析页面,提取内容,将其与上次运行进行比较,然后将结果显示在工具栏或状态栏上,或者在某些弹出窗口上显示种类。所有这些都必须在用户进行他的业务时完成,而不会被打断甚至是在 SO 上。
我在 Google 和 Mozilla Wiki 上都进行了相当彻底的搜索,以寻找某种提示。我什至已经下载了一些我认为可以做同样的其他扩展。不幸的是,我没有时间浏览所有这些和我看过的那些,都使用数据 API(服务、WebServices、XML),而不是 html 报废。
旧问题文本
我正在寻找一个好地方来学习如何在一个名为购买臭名昭著的 set_timeout() 的函数中加载页面,以在后台处理屏幕抓取。
我的想法是在状态栏扩展中呈现这种抓取的结果,以防万一上次运行发生任何变化。
是否有隐藏的覆盖或其他一些诡计?
firefox - 如何在导航栏中自动安装 Firefox 扩展?
我正在开发一个 Firefox 扩展。当用户安装它时,我想让它自动安装在导航栏的最右边位置。就目前而言,用户必须转到查看 > 工具栏 > 自定义...,并在安装后将扩展拖到导航栏。我想消除这一步。
扩展在这里: http: //madan.org/tickertool
我的扩展的 XUL 看起来基本上是这样的,它覆盖了 browser.xul:
我在这里看到了代码(https://developer.mozilla.org/en/Code_snippets/Toolbar),据说可以满足我的要求,但是如果您的扩展程序只是一个按钮而我不能让它为我工作。我的问题的答案可能是对这段代码的一些修改,但我还没有弄清楚。
firefox - 页面大小:Firefox 添加
有谁知道任何可以显示当前查看页面大小的 Firefox 插件?
sqlite - Firefox 书签 SQLite 结构
我正在尝试编写一个 Firefox 3 插件,它可以让我轻松地重新标记书签。例如,我有一些标记为“开发”的书签和一些标记为“开发”的书签,我想要一种方法可以轻松地将所有“开发”标签更新为“开发”。不幸的是,我找不到一个插件来做到这一点,所以我想我会创建自己的。
在我设法掌握基础知识并发现 FireFox 将所有书签存储在名为 Places.sqlite 的 SQLite 数据库中之前,我还没有开发过插件。在该数据库中有一个名为 moz_bookmarks 的表,其中包含书签目录中的所有书签、标签和文件夹。书签文件夹及其子书签的结构使用外键 id 表示,该外键 id 指向同一个表中的父文件夹的 id,该表再次向上递归到该父文件夹的 Id,直到它到达书签根。
但是,我陷入困境的地方是您在 Firefox 中应用的标签与书签的关系。每个标签都有一个类型 = 2 和父 ID = 4。但是我看不出这与使用该标签的实际书签之间没有关联。如果我在 Firefox 中将书签添加到没有特定文件夹但给它 2 或 3 个标签,那么它的父文件夹 ID 为 5,对应于“未归档”,但我看不到与它关联的标签的进一步关联。
我在结构上找到了这个 Wiki 页面,但它并没有真正帮助。
这让我发疯了:(请帮助...
javascript - 如何在 Firefox 扩展中使用 jQuery
我想在 firefox 扩展中使用 jQuery,我在 xul 文件中导入了库,如下所示:
但是在 xul 文件中无法识别 $() 函数,jQuery() 也无法识别。
我搜索了这个问题并找到了一些解决方案,但没有人与我合作:http: //gluei.com/blog/view/using-jquery-inside-your-firefox-extension http://forums.mozillazine.org/ viewtopic.php?f=19&t=989465
我还尝试将'content.document'对象(引用'document'对象)作为上下文参数传递给jQuery函数,如下所示:
但仍然无法正常工作,以前有人遇到过这个问题吗?