Я использую систему, которая включает запрос html в виде обычного текста, сначала разбирая html, чтобы поменять все теги сценария на div, отделить эти div, добавить страницу, затем просмотреть циклы div (которые на самом деле являются скриптами) и добавить их содержимое тегов сценария или создание тегов сценария с помощью src для этого элемента div. Это очень похоже на то, как это делает пример платформы history.js.
$.get(urlToLoad).promise().done(function(html) {
var outHTML = html;
outHTML = outHTML.replace(/<script/ig, "<div class='iscript'").replace(/<\/script/ig, '</script');
outHTML = $(outHTML);
var scripts = outHTML.filter('div.iscript').detach();
$content.html(outHTML);
scripts.each(function() {
var $this = $(this), s = document.createElement("script");
if ($this.attr('src') != "") {
s.src = $this.attr('src');
} else {
s.nodeValue = $this.text();
}
$content[0].appendChild(s); // jquery's append removes script tags
});
}).always(function() {
$contentclone.replaceWith($content);
$content.slideDown();
$contentclone.remove();
});
используя этот метод, вы можете добавить скрипт, который выполняет отслеживание на каждой странице. Лично я предпочитаю делать это на глобальной странице способом, подобным предложенному Джаспером.