Firefox addon Firefox扩展链接提取器

Firefox addon Firefox扩展链接提取器,firefox-addon,dom-events,Firefox Addon,Dom Events,我想在Firefox中创建一个扩展,从用户移动链接上的鼠标中提取嵌入在网页上的链接。这与浏览器底部状态栏上的链接目标显示非常相似 我遇到的问题是访问已加载网页的文档对象。我尝试了document.getElementsByTag(“a”)但没有成功。我尝试了content.document.getElementByTag(“a”)但没有成功 理想情况下,我希望它的行为如下: 网页已加载 网页上的所有锚都被分配了onmouseover属性 用户指向一个链接 事件被触发,链接的url被提取并显示在警

我想在Firefox中创建一个扩展,从用户移动链接上的鼠标中提取嵌入在网页上的链接。这与浏览器底部状态栏上的链接目标显示非常相似

我遇到的问题是访问已加载网页的文档对象。我尝试了
document.getElementsByTag(“a”)
但没有成功。我尝试了
content.document.getElementByTag(“a”)
但没有成功

理想情况下,我希望它的行为如下:

  • 网页已加载
  • 网页上的所有锚都被分配了onmouseover属性
  • 用户指向一个链接
  • 事件被触发,链接的url被提取并显示在警报框中
  • 读这个。 别忘了在install.rdf(LinkTargetFinder.xpi)中更改maxVersion

    在函数run()中的linkTargetFinder.js中,您可以看到如何查找链接:

    。。。 allLinks=content.document.getElementsByTagName(“a”) …有几件事:

  • 对于插入浏览器覆盖的脚本,
    document
    是浏览器的文档,而不是网页的文档,因此您需要
    content.document
  • 函数是
    getElementsByTagName
    。使用错误控制台——它应该告诉您
    getElementsByTag
    不是一个函数
  • 您也可以只使用
    content.document.links
  • 在加载整个文档时,只需将事件侦听器添加到整个文档中,然后在事件侦听器中,只需执行
    if(event.target instanceof htmlanchoreElement)
    或其他操作,以查看它是否是一个链接
  • 无论采用哪种方式,在使用完事件侦听器(即在页面的
    unload
    event)后,您都应该删除它们

  • 您是指document.addEventListener(“单击”,函数(e){if(this.target instanceof htmlanchoreElement){alert(“hello”)},false);你的想法是对的,但是你错过了第一项。我认为,
    这个
    是被点击的实际元素,而不是事件(即
    e
    ),你在评论中写它的方式。