私はこのコードを試しました(それは機能しますが、3〜4回クリックすると、ブラウザがフリーズします。おそらく巨大な変数が原因です):
var elements = [ "content", "menu" ];
$.get(
url,
function(data)
{
// Elements
var resp = $("<div></div>").html(data);
$.each(
elements,
function(i, v)
{
var content = resp.find("#"+v);
$("#"+v).html(content);
}
);
// Title
var regexp = /<title>(.*)<\/title>/i;
document.title = data.match(regexp)[1];
// Change URL
history.pushState({ page: url }, url, url);
// Hiding loading div
}
);
Firefox 6.0、Chrome、Safari5でテスト済み...
.load()関数を使用できると思いますが、1回のロードで複数のdivをロードすることはできません...
そして、次のコードは機能していません:
var resp = $("<div></div>").load(url+" #content, #menu");
var content = resp.find("#content");
$("#content").html(content);
var menu = resp.find("#menu");
$("#menu").html(menu);
ご協力ありがとうございました!