Firefox addon firefox插件在事件上检查sqlite数据库

Firefox addon firefox插件在事件上检查sqlite数据库,firefox-addon,add-on,browser-addons,Firefox Addon,Add On,Browser Addons,我在做firefox插件,它有sqlite数据库mydb.sqlite。这是我所选链接的数据库,我有一个gBrowser的加载事件。 现在,我想编写一个代码,检查每个加载事件的content.document.location,并通知我当前打开的链接是否在数据库中或不在数据库中(例如,状态栏上有一些图标) 你知道如何有效地做这件事吗?所以它不会让firefox慢很多 多谢各位 确保您正在侦听DOMContentLoaded事件,该事件会在每次页面加载时触发 您可以使用e.target.defau

我在做firefox插件,它有sqlite数据库
mydb.sqlite
。这是我所选链接的数据库,我有一个
gBrowser
的加载事件。 现在,我想编写一个代码,检查每个加载事件的
content.document.location
,并通知我当前打开的链接是否在数据库中或不在数据库中(例如,状态栏上有一些图标)

你知道如何有效地做这件事吗?所以它不会让firefox慢很多

多谢各位

  • 确保您正在侦听
    DOMContentLoaded
    事件,该事件会在每次页面加载时触发

  • 您可以使用
    e.target.defaultView.location.href
    (其中
    e
    应该是您在回调中命名的第一个参数),从
    DOMContentLoaded
    处理程序中获取加载页面的URL

  • 现在将此URL与数据库中的内容进行比较。考虑使用(Firefox 3.5和仅更新),以便不必不必要地阻塞主线程。
  • 将向您展示如何更新状态栏

  • 确保您正在侦听
    DOMContentLoaded
    事件,该事件会在每次页面加载时触发

  • 您可以使用
    e.target.defaultView.location.href
    (其中
    e
    应该是您在回调中命名的第一个参数),从
    DOMContentLoaded
    处理程序中获取加载页面的URL

  • 现在将此URL与数据库中的内容进行比较。考虑使用(Firefox 3.5和仅更新),以便不必不必要地阻塞主线程。
  • 将向您展示如何更新状态栏


  • 感谢您提供有用的信息,您将如何在步骤3中进行比较?是否将每个记录中的链接与加载的href进行比较?如果我在一段时间内有10000个链接呢?它仍然有效还是有一些技巧可以提高效率?@xraf-让DB帮你做吧。查询表格,询问与您当前所在页面的URL匹配的任何记录。如果查询返回任何结果,则您已找到匹配项。确保在URL列上设置一个
    UNIQUE
    约束以限制表大小(并创建适当的索引)。我想你应该很好。谢谢你提供有用的信息,你会如何在步骤3中进行比较?是否将每个记录中的链接与加载的href进行比较?如果我在一段时间内有10000个链接呢?它仍然有效还是有一些技巧可以提高效率?@xraf-让DB帮你做吧。查询表格,询问与您当前所在页面的URL匹配的任何记录。如果查询返回任何结果,则您已找到匹配项。确保在URL列上设置一个
    UNIQUE
    约束以限制表大小(并创建适当的索引)。我想你应该没事。