在Firefox扩展中只加载一个页面时多次调用onload事件侦听器

时间:2013-09-25 16:09:06

标签: javascript firefox-addon-sdk

我编写了一个使用Javascript和PHP捕获浏览器端隐式指标的程序。该程序在单个索引页面上作为独立程序运行良好。我尝试将其添加为Firefox中的扩展程序,以便用户可以远程访问它并捕获所有访问过的URL。正如我添加的那样,我发现每当一个文件(例如html,jpg,css,js)加载时它就会触发,从而给我多次加载。请问如何使相关文件像单个文件一样同时触发?以下是代码部分:

    var linkTargetFinder = function () {
    var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    return {

        selectedTab: null,

        init: function () {
            gBrowser.addEventListener("load", function (e) {
                linkTargetFinder.run(e);
            }, false);
        },
        run: function (e) {
            var doc = e.originalTarget;

            doc.defaultView.addEventListener("unload", function (e) {
                alert('Unloading tab');
                linkTargetFinder.setCloseEvent();
            }, false);
        },
    }
}();

window.addEventListener("load", linkTargetFinder.init, false);

0 个答案:

没有答案