这是我的 main.js:
var data = require("self").data;
var window = require("window-utils").activeBrowserWindow;
var tabs = require("tabs");
var Request = require("request").Request;
var team = require("page-mod").PageMod({
include: ["http://www.example.com/team/*"],
contentScriptFile: [data.url("jquery.js"), data.url("item.js")],
contentScriptWhen: 'ready',
onAttach: function(worker) {
worker.port.on('got-id', function(id) {
var requesturl = "http://www.othersite.com/item/" + id;
Request({
url: requesturl,
onComplete: function(response) {
worker.port.emit('got-request', response.text);
}
}).get();
});
}
});
和我的 item.js:
// Getting number of total items in the page
var totalitems = document.getElementById("NumberOfItems").textContent;
totalitems = parseInt(totalitems);
// Creating array for items position
positions = [];
for ( z = 0; z <= totalplayers-1 ; z++ ) { positions.push(z < 10 ? ("0" + z.toString()) : z.toString()); }
$.each( positions, function(players, position) {
// Getting item id for the request
var player_id = $("#item-position" + position).attr("href").match(RegExp('items/([^/]+)/details.aspx$'))[1];
self.port.emit('got-player-id-team', player_id);
self.port.on('got-request-team', function(data) {
var columns = $('div.columns',data);
replacediv = $("div#itembox").eq(position).find('td').eq(3);
replacediv.append(columns);
});
});
它似乎工作正常,但所有 div 都被每个项目附加!我如何修改它以将每个项目的获取数据仅放置在该项目中而不是每个项目中?
我做错了什么?我认为它运行了两次!它就像runs = totalitems*2
。
如果我强制它只运行第一项,一切都很好!
对不起,我的英语不好!我知道这很难理解,所以我正在等待您的评论