This is my 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();
});
}
});
and my 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);
});
});
Its seems that is working fine, BUT all the divs get appended by every item! How i can mod it to place every item's fetch data only in this items and not in every item?
What i am doing wrong? I thinks its running twice! Its like runs = totalitems*2
.
If i force it to run for the first item only, everything is good!
Sorry for my bad english! I know that is hard to understand it so i am waiting your comments