Здравствуйте! Не могу понять, где ошибка в моем скрипте.
- Есть сайт, цель на котором - реализация плавной смены контента внутри блока main. Причина - в итоге есть необходимость играть музыку из раздела аудиозаписей при всей навигации по сайту. Однако, сейчас я ловлю уже 2 проблемы:
- Если выходить на сайт с телефона с 3g - то страницы, на которых есть JS код - не выполняют его (с WiFi нет проблем)
- Если многократно кликнуть на линк с такой страницей - все, что отрабатывалось на ней - перестает работать, в консоль либо не падает ничего, либо
Код:
|
net::ERR_INSUFFICIENT_RESOURCES error ... |
Сам скрипт навигации
$(function() {
String.prototype.decodeHTML = function() {
return $("<div>", {html: "" + this}).html();
};
var $main = $("main"),
init = function() {
},
ajaxLoad = function(html) {
document.title = html
.match(/<title>(.*?)<\/title>/)[1]
.trim()
.decodeHTML();
init();
},
loadPage = function(href) {
//console.log(($main.load).html());
$main.load(href + " main>*", ajaxLoad);
$("main").css("display", "none");
$("main").fadeOut(600);
$("main").fadeIn(600);
//console.log(($main));
$(document).ajaxComplete(function() {
$.get(href, function(scripts) {
var megafurrydom = document.createElement('div');
megafurrydom.innerHTML = scripts;
var scr = megafurrydom.getElementsByTagName('script');
// console.log(scr);
/* $.each(scr, function (index, lhs)
{
$.getScript(lhs);
eval(lhs);
console.log(lhs);
})*/
for (var i = 0; i < scr.length; ++i) {
jQuery(document).ready(function ($){
//eval(scr[i].text);
eval(scr[i].innerHTML);
//console.log(scr[i]);
})
}
})
})
};
init();
$(window).on("popstate", function(e) {
if (e.originalEvent.state !== null) {
loadPage(location.href);
// console.log("5");
}
});
$(document).on("click", ".transition", function() {
var href = $(this).attr("href");
if (href.indexOf(document.domain) > -1
|| href.indexOf(':') === -1)
{
history.pushState({}, '', href);
loadPage(href);
return false;
}
});
});
Не пинайте особо больно, ибо ранее с JS не работал вовсе. Это первый проект, в котором пришлось копаться и в этих дебрях.