Javascript 是否有一种更快的方法在网页的URL/链接旁边添加图标-替代使用;“满负荷”;事件

Javascript 是否有一种更快的方法在网页的URL/链接旁边添加图标-替代使用;“满负荷”;事件,javascript,firefox-addon,onload,Javascript,Firefox Addon,Onload,我正在编写一个Firefox插件,它在网页的所有URL旁边添加了一些小图标 我现在的做法是: addEventListener(“加载”,addincontourls,false) 此外,课程功能: 按标记名“a”获取所有元素 对于每个“a”元素,附加一个“img”元素 但是,对于某些网页,图标需要很多时间才能显示,因为“onload”事件需要时间 有没有更快的方法来实现这一点? 与其等待所有链接加载,然后在每个链接旁边添加图标,有没有办法在加载特定链接后立即在链接旁边添加图标 感谢您的帮助。谢

我正在编写一个Firefox插件,它在网页的所有URL旁边添加了一些小图标

我现在的做法是:

  • addEventListener(“加载”,addincontourls,false)
  • 此外,课程功能: 按标记名“a”获取所有元素 对于每个“a”元素,附加一个“img”元素
  • 但是,对于某些网页,图标需要很多时间才能显示,因为“onload”事件需要时间

    有没有更快的方法来实现这一点? 与其等待所有链接加载,然后在每个链接旁边添加图标,有没有办法在加载特定链接后立即在链接旁边添加图标


    感谢您的帮助。谢谢。

    您还可以收听另一个活动:

    document.addEventListener("DOMContentLoaded", AddIconsToURLs, false);
    

    你想如何处理这些图像?有什么特别的吗?如果只是为了外观,那么在插件中加载CSS样式表并使用pseudo元素更容易:

    a:after {
      content: url('chrome://youraddon/skin/imagefile.png');
    }
    
    不涉及JavaScript处理:)

    您可以通过以下方式加载自定义CSS文件:

    var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"]
              .getService(Components.interfaces.nsIStyleSheetService);
    var ios = Components.classes["@mozilla.org/network/io-service;1"]
              .getService(Components.interfaces.nsIIOService);
    var uri = ios.newURI("chrome://youraddon/skin/cssfile.css", null, null);
    
    if(!sss.sheetRegistered(uri, sss.AGENT_SHEET)) {
        sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
    }
    

    另请参见。

    谢谢您的回复。我对每个图标都有一个mouseover函数,它获取相应的URL并进行进一步处理。当前的顺序是:link mouseover->icon executes->icon mouseover->take link并进行进一步处理。有什么方法可以通过结合使用CSS和其他东西来实现这一点吗?@userlite:没有,您似乎无法访问CSS生成的内容,因为它没有添加到DOM中。太糟糕了,这似乎是一个很好的方式:)我知道这个事件在IE中有效。这对Firefox也有效吗?它比onload事件快吗?谢谢你的帮助。我试了几页。不知何故,它几乎适用于除谷歌搜索之外的所有页面。@userlite这可能是因为当你进行搜索时,结果不会出现在新页面上,而是加载到你已经在的页面上。