我写了一个类,允许您提供一堆url和一个代码块来在chrome扩展中删除页面。你可以在这里找到github回购:https://github.com/jkarmel/Executor。它可以使用一些更多的测试,我需要处理文档,但看起来它可能就是您要查找的内容。
这里是你将如何使用它来从几个不同的网页获得的所有链接:
/*
* background.js by Jeremy Karmel.
*/
URLS = ['http://www.apple.com/',
'http://www.google.com/',
'http://www.facebook.com/',
'http://www.stanford.edu'];
//Function will be provided to exector to collect information
var getLinks = function() {
var links = [];
var numLinks = $('a');
$links.each(function(i, val) {links.push(val.href)});
var request = {data: links, url: window.location.href};
chrome.extension.sendRequest(request);
}
var main = function() {
var specForUsersTopics = {
urls : URLS,
code : getLinks,
callback : function(results) {
for (var url in results) {
console.log(url + ' has ' + results[url].length + ' links.');
var links = results[url];
for (var i = 0; i < links.length; i++)
console.log(' ' + links[i]);
}
console.log('all done!!!!');
}
};
var exec = Executor(specForUsersTopics);
exec.start();
}
main();
所以基本上代码来收集将被提供给执行实例的链接,那么你会怎么做无论您想要回调中的结果如何。它可以处理更长的URL列表(〜1000),并且它可以一次处理多个(默认== 5)。它现在不能很好地处理代码块中的错误,所以一定要测试你提供的代码。
好的建议。看起来它会做我想要的。不过,我很好奇这种事情是否可以在咖啡里完成。 – jcollum