我使用涉及請求系統將html作爲純文本,首先解析html以將所有腳本標記更改爲div,然後分離t軟管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();
});
使用此方法,您可以添加在每個頁面上執行跟蹤的腳本。我個人更喜歡在全球頁面上以類似於Jasper的建議的方式進行操作。
有什麼不同?你可以隨時調用`_gaq.push(['_ trackPageview'])`... – Jasper 2013-12-09 16:33:53