私は要求が含まシステムを使用します。また、AJAXの応答本体にロードされたスクリプトを解析する$.globalEval()
を使用することができます
UPDATE
htmlをプレーンテキストとして処理し、htmlを最初に解析してすべてのスクリプトタグをdivに変更し、detach t hose divsを追加してページを追加し、div(実際にはスクリプト)をループし、その内容をスクリプトタグに追加するか、そのdivのsrcを使用してスクリプトタグを作成します。これは、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();
});
この方法を使用すると、各ページでトラッキングを行うスクリプトを追加できます。私は個人的には、ジャスパーの提案と同様に、グローバルページ上でそれを行うことを好む。
は異なる何ですか?あなたはあまりにもしたいときに '_gaq.push(['_ trackPageview'])'を呼び出すことができます... – Jasper
@ Jasper-このコードは、より最新の – Yarin