Tamten problem rozwiązałem. Niestety mam kolejny i nie wiem czy przypadkiem to nie jest jakiś bug.
Niektóre dane na mojej stronie głównej są ładowane dynamicznie po odpaleniu witryny:
$(document).on("ready", function() {
pobierzDane();
});
function pobierzDane() {
$.get(url, function(data) {
$("#divDane").append(data.html);
}, 'json');
}
Funkcja pobierzDane() również jest odpalana po ajaxowym przejściu ponownie na stronę główną. Problem polega na tym, że co jakiś czas po przejściu na stronę główną odpalają się dwie funkcję, ta ze strony głównej oraz ta, która wczytuje dane z danej podstrony. Nie mogę nigdzie znaleźć zależności, ponieważ dzieje się to losowo. Raz na jakiś czas odpala się ona podwójnie. Wie ktoś może czemu tak się dzieje, lub czy ktoś zna inny sposób żeby ta funkcja się sama odpaliła przy pobraniu danych z danej podstrony?
Kod do pobierania danych:
jQuery.ajax({
type: "GET",
url: url,
data: getData,
cache: false,
dataType: "html",
context: document.body,
success: function(data) {
data = data.split('id="' + content + '"')[1];
data = data.substring(data.indexOf('>') + 1);
var depth = 1;
var output = '';
while (depth > 0) {
temp = data.split('</main>')[0];
i = 0;
pos = temp.indexOf("<main");
while (pos != -1) {
i++;
pos = temp.indexOf("<main", pos + 1);
}
//end count
depth = depth + i - 1;
output = output + data.split('</main>')[0] + '</main>';
data = data.substring(data.indexOf('</main>') + 6);
}
jQuery("#main").html(output);
jQuery("#main").find("script").each(function(i) {
eval(jQuery(this).text());
});
if (jQuery('#main').children('div').hasClass('home')) {
pobierzDane();
}