J'ai essayé ce code (cela fonctionne, mais lorsque l'on clique 3-4 fois, mes frezzes navigateur, peut-être en raison de variables énormes):jQuery/AJAX - Comment charger plusieurs divs et titre de page?
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
}
);
testé sur Firefox 6.0, Chrome et Safari 5 ...
Je pense que je peux utiliser la fonction .load(), mais je ne peux pas charger plusieurs divs avec une seule charge ...
Et le code suivant ne fonctionne pas:
var resp = $("<div></div>").load(url+" #content, #menu");
var content = resp.find("#content");
$("#content").html(content);
var menu = resp.find("#menu");
$("#menu").html(menu);
Merci pour votre aide!
Bonjour 3nigma, désolé, mais ça ne change rien ... Ce n'est pas un problème de cache, je pense que c'est la longueur de la variable « data », mais je ne suis pas sûr. – Yoone
Testé avec .load(), c'est vraiment rapide comparé à $ .get() ... – Yoone
pouvez-vous le tester avec 'global: false' dans le' ajaxSetup' peut-être cela fera une différence ... '$ .get 'et' load' sont à peu près similaires selon les docs ... – Rafay