crossrider firefox appAPI.message.toActiveTab

时间:2015-01-24 15:10:12

标签: firefox crossrider

对于我的扩展程序,我想检查是否访问了某些网站。只有第一次访问这些网站我想调用一个函数。因此,我的extension.js检查是否访问了其中一个网站,background.js会跟踪访问量,并在第一次访问时调用extension.js中的函数。这在Firefox中工作正常。似乎根本没有调用addListener。知道为什么吗?

Extension.js

// check if site is visited
var websites= ['facebook.com', 'site.com', 'anothersite.com'
for (i = 0; i < websites.length; i++) { 
    if (appAPI.matchPages("*" + websites[i] + "*")) {
        // count visit
        appAPI.message.toBackground({type:'update', data:i});
    }    
}

appAPI.message.addListener(function(msg) {
    if (msg.type == 'testf') {
        // not executed (in Firefox)
    }
});

Background.js

appAPI.message.addListener(function(msg) {
    if (msg.type == 'update') {
        i = msg.data;
        if (visited[i] == 0) { 
            // call function when visited first time
            appAPI.message.toActiveTab({type:'testf'});
        }
        visited[i] ++;
    }
});

0 个答案:

没有答案