如何使用 Firefox Addon Builder 记录选定的文本?

2024-02-28

我遵循了几个教程但没有成功。我认为这是一个经典的例子,但我无法让它发挥作用。我可以保存我的项目,安装插件,当我选择一些文本时,我可以看到上下文菜单项“日志选择”,但是当我单击它时,什么也没有发生。

exports.main = function() {

    var contextMenu = require("context-menu");
    var request = require("request");
    var selection = require("selection");

    var menuItem = contextMenu.Item({
        label: "Log Selection",
        context: contextMenu.SelectionContext(),
        contentScript: 'self.on("click", function () {' +
                 '  var text = window.getSelection().toString();' +
                 '  self.postMessage(text);' +
                 '});',
        onMessage: function (selectionText) {
            alert(selectionText);
        }
    });
}

即使我的插件仅包含一个警报,该插件也会安装,但不会显示警报。

exports.main = function() {
       alert("Hello world");
}

额外信息:

  • SDK:1.14(最新)
  • 附加构建器助手:1.7(最新)
  • 在构建器网页上添加:https://builder.addons.mozilla.org https://builder.addons.mozilla.org

你不能使用alert直接在 lib/ 模块中。根本就没有window可以显示警报,因此没有alert功能。

看看记录文档 https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/logging.html.

如果你真的想展示一些东西,你可以例如使用通知 https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/notifications.html, or alert using nsIPromptService(例如这一页 https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/xul-migration.html)或来自内容文档(小部件等)。

Here is 展示不同方法的示例 https://builder.addons.mozilla.org/package/199716/latest/.

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

如何使用 Firefox Addon Builder 记录选定的文本? 的相关文章

  • 如何在 Firefox page-mod 中进行重定向?

    我正在尝试将我的 Google Chrome 扩展程序移植到 Firefox Add On SDK 并且我需要该扩展程序来过滤我网站中的页面并进行重定向 例如 如果用户打开 http example com special http exa
  • 在 JavaScript 中获取平台特定的换行符?

    几年前 我为我的一个 Firefox 插件编写了以下函数 它可以帮助我获取特定于平台的换行符 GetNewLine function var platform navigator platform toLowerCase if platfo
  • “文档”与“内容.文档”

    我正在尝试编写一个 Firefox 扩展 将元素添加到加载的页面 到目前为止 我通过以下方式获取了文档的根元素 var domBody content document getElementsByTagName BODY item 0 并通
  • Firefox 扩展如何以编程方式获取自己的版本号?

    如何使用 Javascript 以编程方式获取我自己的 Firefox 扩展版本号 我的扩展有一个 install rdf 文件 其中包含类似于下面的版本号 我想提取其中的内容
  • 无法从 browser.storage.local.get 提取数据

    尝试实现 Firefox 插件 扩展版本 64 0 的选项页面 我在用browser storage local set 存储数据 但是当我使用browser storage local get拉取数据 结果是
  • Firefox Addon SDK 中的 HTML5 文件 API

    有没有办法在内容脚本中访问 Firefox addon sdk 中的 Html5 文件 api 这是为了存储用户添加的单词及其含义所必需的 数据可能会变得很大 因此本地存储不是一个选择 window requestFileSystem3 w
  • Mozilla 扩展的内容安全策略

    我在 Mozilla 和 Chrome 中都有一个扩展 在我的扩展中我调用了一个远程 JS 文件 为了避免 Chrome 中的 CSP 我将规则添加到 manifest json 中 并且我的文件通过 HTTPS 传输 因此一切都很完美 但
  • 在 Firefox 扩展中,moment.js 不会在 Chart.js 之前加载

    我正在将 Chrome 扩展移植到 Firefox 它将 Chartjs 图表添加到页面中 它需要 moment js 并且在 Chrome 上运行得很好 但是 当我将其移植到 Firefox 时 图表无法加载 并且出现错误 错误 Char
  • Addon SDK方式制作对话框

    使用 SDK 制作对话框的正确方法是什么 该对话框不是锚定到附加栏等 而是显示在屏幕中央 似乎没有任何 API 可以实现这一重要功能 我确实看到了windows utils has open但我有两个问题 打开对话框似乎需要 chrome
  • XPath 和 Regexp 哪个更快?

    我正在为 firefox 制作一个附加组件 它使用 ajax 加载一个 html 页面 附加组件有它的 XUL 面板 现在 我没有寻找创建document对象并将ajax请求内容放入其中 然后使用xPath找到我需要的内容 相反 我加载内容
  • 如何从 SDK 插件数据文件夹加载 dll?

    我们使用 Web IDE 来创建插件 我的 test dll 位于数据文件夹中 如何通过js ctypes加载它 使用像 c test dll 这样的绝对路径没有问题 但我无法使用此路径来分发它 var lib ctypes open c
  • Firefox 扩展中的 localStorage

    我正在尝试从 Firefox 扩展访问页面的 localStorage 我的理解是content给出了参考window当前页面的 当我尝试访问页面的 localStorage 时content localStorage 我想我正在得到它的参
  • 从画布保存/转换后文件质量下降的问题

    这是我正在使用的代码 代码位于这篇文章的底部 但这里是链接GitHubGist Noitidart ff addon snippet browseForBadgeThenCreateSaveAnApply js https gist git
  • Firefox Addon 中的 JQuery 导致多个警告

    我在 Firefox 插件中使用 jquery 但我不断收到大量警告消息 如下所示 anonymous function does not always return a value System JS WARNING resource g
  • 我的附加 SDK 内容脚本如何与网站页面脚本交互?

    在我的 SDK 插件中 我想 调用页面脚本中的函数 导出 读取 获取 写入 设置 或操作页面脚本中的某些变量或属性 将新函数导出到页面脚本中或覆盖页面脚本中的现有函数 或将自定义事件发布到页面脚本可以侦听的页面 我的附加 SDK 内容脚本如
  • 使用 Firefox 插件发出跨域 ajax 请求

    我对如何在 Firefox 插件中发出跨域 ajax 请求感到有点困惑 LastPass 和 Xmarks 等插件建议你可以做到这一点 但是当我尝试用 google 搜索你是如何做到这一点时 每个人似乎都说你不能 除非用户在 Firefox
  • Javascript 将即时生成的 BLOB 文件下载到特定文件夹中

    所以我正在尝试编写一个 Firefox Webextension 我想将网页的标题 网址和个人评论保存到文件中 myfile txt 这就是我得出的结论 我不希望我的 下载 文件夹很快变满 因此我想将它们下载到 下载 文件夹中包含的文件夹中
  • 如何在 Firefox 插件上使用 jQuery 1.5.2+?

    首先 我创建了一个接收参数并返回 jQuery 的函数 例如 function getjQuery window jquery code window return window jQuery 但后来我收到了一封评论电子邮件 他们告诉我必须
  • 获取真实的HTML5视频宽度和高度

    我有一个视频元素 var video window content document createElement video video width width video height height video style backgro
  • 如何使用插件 SDK 通过 url(不是 getMostRecentBrowserWindow)调用 Firefox printpreview

    我调用 printpreview 的一种方法是使用 getMostRecentBrowserWindow const getMostRecentBrowserWindow require sdk window utils var chrom

随机推荐

  • 页面重定向后 Yii2 用户身份丢失

    我正在 yii2 中进行用户登录 但不是使用活动记录 而是由另一台服务器处理用户用户名和密码的验证 因此 以下是我所做的解决方法 in LoginForm php 我做了一些改变validatePassword which apiRest
  • Azure 模拟器连接错误

    我安装了 Azure 存储 v3 4 和计算模拟器 v2 5 并且可以在计算模拟器中检查我的部署 但每当我尝试可视化表或 blob 的内容时 我都会收到以下信息来自 Visual Studio 的错误 无法加载文件或程序集 Microsof
  • Python NetworkX 从作为根的节点在有向图中查找子图

    我正在编写一个代码来从有向图中提取信息 该图也有循环 例如 A gt B gt C gt D A gt E gt F gt A B gt F gt G 从这个图中 我想创建一个子图或节点列表 其中输入可以是任何节点 输出可以是输入节点是根的
  • 在视图控制器转换中获取子视图的最终帧

    我正在 iOS 7 中的视图控制器之间实现自定义转换 特别是 我在视图控制器 A 和视图控制器 B 中具有相同的按钮 唯一的区别在于其位置 在视图控制器 B 中稍高一些 我希望在从视图控制器 A 到视图控制器 B 的转换中 A 中的按钮向上
  • 如何解码包含 \x3c 等的 Feedburner 结果

    Feed Burner 更改了他们的博客服务返回结果 它返回类似于以下内容的 JavaScript 块 文档 write x3cdiv 类 x3d x22feedburnerFeedBlock x22 id x3d x22RitterIns
  • Office.js |在 Excel 加载项中实施单点登录

    我正在使用 Office js javascript 和 React 创建 Excel 加载项 想要使用功能区按钮实现单点登录流程 用户成功登录后只想向用户显示任务窗格 我已经使用共享运行时 manifest xml 配置了加载项 我已在功
  • vb.net中如何转换日期格式?

    我收到的 xml 响应日期格式字符串是 MM dd yyyy h mm ss a 但我需要转换其他日期格式 dd MMM yy HH mm vb net中如何转换日期格式 请给我任何建议 假设您想将 xml 字符串值转换为正确的值DateT
  • 每次按下菜单按钮时都会双重回调 onMenuOpened/onPanelClosed

    在我的 Android 应用程序中 我想收集有关何时 多久 打开和关闭溢出 三个点 操作栏菜单 未选择项目 的统计信息 对于这个任务我已经覆盖了onMenuOpened and onPanelClosed内的方法Activity 然而 在所
  • 从 Java 拖放到 Windows 资源管理器

    我想用 Java 创建一个应用程序 列出一个目录并向其添加拖放支持 以便将文件从该目录复制到打开的资源管理器窗口 反之亦然 Windows 系统 虽然添加对从 Windows 资源管理器到 Java 应用程序的拖放的支持非常容易 但当操作从
  • oracle sql listagg [重复]

    这个问题在这里已经有答案了 SELECT deptno LISTAGG ename WITHIN GROUP ORDER BY ename AS employees FROM emp GROUP BY deptno 错误 ORA 00923
  • Java如何访问try-catch块之外的变量

    我是java初学者 正在玩try catch块 但是 我无法获取try catch块之外的变量 以下代码有效 class factorial public static void main String args try int num I
  • Buildroot:仅构建一个包作为共享和静态库,所有其他包仅共享

    buildroot 提供了构建的可能性 仅静态 只分享 或共享库和静态库 所选软件包的数量 分配的配置元素是BR2 STATIC LIBS BR2 STATIC LIBS and BR2 SHARED STATIC LIBS 问题 是否可以
  • ECS 任务/容器的 Terraform AWS CloudWatch 日志组

    我正在尝试使用 Terraform 创建一个 AWS ECS 任务 它将日志放入 CloudWatch 上的特定日志组中 问题是容器定义位于 JSON 文件中 我无法将 CloudWatch 组名称从 tf 文件映射到该 json 文件 容
  • 打破 tcl 中的父循环

    我在 while 循环中有一个 for 循环 我有一个条件要打破 for 循环中的 while 这是代码 while gets thefile line gt 0 for set i 1 i lt count table incr i if
  • 计算两个 GPS 坐标之间的罗盘方位时出现问题

    在我的 web 应用程序中 有一个来自数据库查询的 JSON 数据响应 其中包括 1 到 n 个位置的纬度 经度坐标 我想计算轴承data i 位置到当前位置 我一直在调整代码here http www movable type co uk
  • 如何在spray-json中表示可选字段?

    我的请求有一个可选字段 case class SearchRequest url String nextAt Option Date 我的协议是 object SearchRequestJsonProtocol extends Defaul
  • 获取this.title属性的前2个字符,并调用对应的id

    我试图检索链接标题属性的前两个字符 将其存储到变量中 然后将该变量作为函数调用 在代码中 它说 s 是我想要放置该值的位置 有任何想法吗 flow click function if labelstatus 1 rmflow a weflo
  • 错误:“使用移动值”

    我目前正在学习 Rust 并且正在使用一个简单的计算器 重构时 我最终得到了如下代码 enum OptionalToken Foo Bar fn next token gt OptionalToken Read input classify
  • JavaScript:如何动态“过滤”我的对象

    我如何使用 JavaScript filter 属性作为过滤器我的 JavaScript 对象 我一直在阅读以下内容StackOverflow 帖子 https stackoverflow com questions 1694717 jav
  • 如何使用 Firefox Addon Builder 记录选定的文本?

    我遵循了几个教程但没有成功 我认为这是一个经典的例子 但我无法让它发挥作用 我可以保存我的项目 安装插件 当我选择一些文本时 我可以看到上下文菜单项 日志选择 但是当我单击它时 什么也没有发生 exports main function v