检测 FF 插件中的导航

2024-01-07

我正在使用“FF Addon SDK”将 Chrome 扩展移植到 FF。在后台脚本(main.js)文件中,我需要使用 FF 等效项...

chrome.webNavigation.onBeforeNavigate.addListener()

and

chrome.tabs.onUpdated.addListener()

我注意到 require("sdk/tabs").on 只有打开、关闭、完成等,但与导航无关。

我看到一些使用 Page-Mod 的解决方案或展示了开发 FF 扩展的旧 XUL 方式的解决方案。我专门寻找 FF Addon SDK(仅限)解决方案。

感谢任何投入。

编辑:我能够通过使用 Progress Listener 找到 chrome.tabs.onUpdated.addListener() 的替代方案。显然,在FF中它被称为onLocationChange。仍在寻找 chrome.webNavigation.onBeforeNavigate.addListener() 的替代方案


不幸的是,没有任何合适的替代品 chrome.webNavigation.onBeforeNavigate.addListener()。 一周前发现自己处于同样的情况。尝试使用 nsIWebProgressListener.onStateChange 进行 STATE_START。没有按预期工作。 你最好的选择是: 1.) 使用 onLocationChange 事件,它会为您提供正在加载的位置的 URI。 2.) 拦截Httprequest。筛选出顶层的一个并将其称为 onbeginnavigate。

如果您找到其他方法,请告诉我。

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

检测 FF 插件中的导航 的相关文章

随机推荐

  • 在 Lisp 中获取列表内列表的索引

    如果我有一个这样的清单 0 1 2 3 4 5 6 7 8 0 3 6 1 3 7 2 4 8 0 4 8 2 4 6 我想找到的索引 0 3 6 有内置函数可以做到这一点吗 POSITION当搜索项本身是一个列表时 似乎不起作用 See
  • Javascript:10秒后调用函数,然后每1分钟调用一次

    我有以下场景 我有一个 javascript ajax 函数loadCars 需要在页面加载 10 秒后调用 然后每 60 秒调用一次 以下是我到目前为止所尝试过的 setTimeout function setInterval funct
  • 二叉搜索树插入 - 根始终为空

    我有使用递归在二叉搜索树中插入值的 ds 代码 问题是根始终保持为空 执行后 第一个 printf 打印 10 但第二个 printf 在 insertRec 10 之后 不会打印任何内容 因为 root 为 null include
  • 查找数组中两个不连续的元素,且其总和最小

    Intro 据我所知 这个问题还没有被问到 这是一道面试题 我什至不是专门寻找代码解决方案 任何算法 伪代码都可以工作 问题 给定一个整数数组int A和它的大小N 找到 2非后续的 在数组中不能相邻 具有最小总和的元素 此外 答案不得包含
  • java swing中如何设置按钮的背景图片

    我想改变 Swing 中 JButton 的背景图像 方法 Button setIcon 只设置图标不设置背景 有没有easy怎么办 您仍然可以使用setIcon但您需要设置对齐方式以使文本出现在图像上 button setHorizont
  • 如何定位并恢复已删除的文件

    在过去的某个阶段 我有一个 foo txt 它受 Mercurial 源代码控制 不过现在它已经被删除了 当我不知道删除文件的最后 Mercurial 版本时 如何恢复该文件 如果您知道文件的确切路径 您可以执行以下操作 hg log l
  • 如何更改 IntelliJ IDEA 中的语言?

    这似乎是个愚蠢的问题 但我在设置中找不到它 怎么更改语言 你指的是IDE语言吗 似乎你不能 http devnet jetbrains net message 5307040 5307040 除非你自己本地化 http www jetbra
  • 在 Visual Studio Code 中,如何获取在源代码管理窗格中执行的所有 git 命令的 git 日志?

    在 vscode 源代码控制窗格中 我想获取正在运行的会话的任何应用的 git 命令的命令日志 包括所有鼠标单击操作 例如 在 初始化存储库 之前 在 初始化存储库 之后 应该记录git init命令 等等 The Git Output可以
  • JSON 结构在 IE7 中不起作用 (JavaScript)

    好吧 我是 JSON 新手 所以如果我的问题有点无知 请原谅我 我已经把头撞在墙上太多了 需要一些专家的建议 我试图得到一个简单的示例 其中 HTML 页面使用 jQuery 的 JSON AJAX 函数来调用示例 PHP 页面 该页面传回
  • gethitRect() ,我做错了,这是如何工作的?

    我不断得到top bottom left right 0 我想我做错了 正确的方法是什么 TIA in onCreate ImageView trash ImageView findViewById R id dropTarget tras
  • 没有线性化点的方法是否总是不可线性化?

    如果你能明确证明一个方法没有线性化点 是否一定意味着该方法不可线性化 另外 作为一个子问题 如何证明一个方法没有线性化点 为了建立在上述答案的基础上 一种方法can被描述为可线性化的 正如 djoker 在书中提到的 http www am
  • 使用 true 和 false 语句在 python 中循环整个程序

    我写了一个程序 但我不知道如何循环它 如有帮助 将不胜感激 这是我需要帮助的程序 有两种类型的循环 不定 while 循环和定 for 循环 如果您想让程序循环特定次数 请使用 for 循环 for count in range 0
  • 如何设置 Eclipse 来编辑 Perl 而无需运行时检查?

    我正在开发一个包含 Java 在客户端 和 Perl 在服务器端 的项目 我真的很想使用 Eclipse 来编辑我的 Perl 脚本 而不是使用另一个编辑器 我尝试过使用史诗插件 http www epic ide org 但是 我无法在本
  • 您可以使用特定类型的类对泛型类进行子类化吗?

    我有一个泛型类 其子类提供特定类型 public abstract class GenericBase
  • 在 AsyncTask 中使用从 LoaderManager 返回的游标

    我有一个光标返回onLoadFinished回调 来自LoaderManager LoaderCallbacks 我想对此游标进行一些 可能成本高昂 后处理 所以 我要发射一个AsyncTask使用这个游标 但是 我遇到间歇性崩溃 但有以下
  • 从 MongoDb 数组的数组中删除元素

    下面是数组联系人的架构 联系人数组有一个字段标签 它是另一个数组 如何从数组 Hashtags 中删除元素 openLove contacts addedDate ISODate 2015 12 02T09 06 09 891Z perso
  • 复制 Bash 数组失败

    在 Bash 脚本中将数组分配给变量似乎相当复杂 a a b c b a echo a 0 echo a 1 echo b 0 echo b 1 leads to a b a 代替 a b a b 为什么 我该如何修复它 如果你想copy将
  • WPF:如何使用组合框文本搜索?

    我是否正确假设组合框中的文本搜索在组合框顶部提供了一个文本输入框 当我输入时该文本输入框会被过滤掉 如果是这样 我不明白为什么它不起作用 我有一个 ComboBox 其 ItemsSource 通过 DataContext 绑定到 List
  • Chrome 扩展程序消息传递不起作用(background.js 到 content.js)

    我束手无策 试图弄清楚为什么我无法在我的 Chrome 扩展程序中传递消息 请记住 上个月我对 javascript 完全陌生 并且我一直在通过在线视频自学 我的编码背景完全是 java 我想要的只是让我的后台脚本能够通知我的内容脚本发生了
  • 检测 FF 插件中的导航

    我正在使用 FF Addon SDK 将 Chrome 扩展移植到 FF 在后台脚本 main js 文件中 我需要使用 FF 等效项 chrome webNavigation onBeforeNavigate addListener an