Le moyen le plus discret de lancer un appel Ajax après le chargement d'une page
#1
Posté 22 juillet 2011 - 10:15
Je suis en train de créer une page assez légère. Sauf le bloc social qui repose beaucoup sur les API de Facbook, Twitter et Mailchimp.
Ce bloc plombe littéralement le temps de chargement de la page.
Mon idée de base est donc de charger la page sauf ce bloc. Puis de charger de bloc via un appel Ajax.
Le souci est qu'en faisant ça, le petit sablier à coté du curseur et dans l'onglet continuent de tourner. Le visiteur a donc l'impression que la page n'a pas fini de charger. Vous voyez ce que je veux dire ?
Comment feriez pour faire un appel ajax le plus discret possible ?
J'utilise jquery.
Merci beaucoup.
Je peux vous aider avec : CSS, Html, eZ Publish, Wordpress ...
Intéressé par CSS3, HTML5, les interfaces, le futur, ...
#2
Posté 22 juillet 2011 - 12:32
$(document).ready(function(){
$.ajax({
url: "bloc.php",
dataType: "html",
success: function(_html){
$('#ton_bloc').html(_html);
}
});
});
tout simplement non ?
L'héroïsme, c'est la seule manière de devenir célèbre quand on a pas de talent (l'homme aux initiales douteuses)
Venez tester votre niveau de compétence en PHP :-)
#3
Posté 25 juillet 2011 - 10:45
SStephane, le 22 juillet 2011 - 12:32, dit :
$(document).ready(function(){
$.ajax({
url: "bloc.php",
dataType: "html",
success: function(_html){
$('#ton_bloc').html(_html);
}
});
});
tout simplement non ?
Hello
Merci pour la réponse. En fait c'est la technique que j'utilise mais elle ne permet pas de cacher le petit sablier du curseur ni le sablier dans l'onglet du navigateur.
Je me demandais si il y a quelque chose de plus discret.
Je peux vous aider avec : CSS, Html, eZ Publish, Wordpress ...
Intéressé par CSS3, HTML5, les interfaces, le futur, ...
#4
Posté 25 juillet 2011 - 11:29
L'héroïsme, c'est la seule manière de devenir célèbre quand on a pas de talent (l'homme aux initiales douteuses)
Venez tester votre niveau de compétence en PHP :-)
#5
Posté 26 juillet 2011 - 02:59
Disons que mon souci vient pas trop de mon code car il fonctionne.
En fait je voulais plutot savoir si il y avait des techniques plus avancées.
Edit : on peut surement s'inspirer de la facon dont Facebook charge son SDK javascript de manière asynchrone.
(function() {
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
De ce que je comprend, ça permet de charger un script de manière décalée. Par contre je n'ai pas essayé d'adapter ça pour lancer une requête PHP. Si quelqu'un a testé, ce serait intéressant d'en savoir plus.
Ce message a été modifié par Locace - 26 juillet 2011 - 09:25.
Je peux vous aider avec : CSS, Html, eZ Publish, Wordpress ...
Intéressé par CSS3, HTML5, les interfaces, le futur, ...
#6
Posté 26 juillet 2011 - 08:21
Je ne me souviens plus de la syntaxe mais avec jquery, tu as un argument qui spécifie le type d'appel comme un "script".
Je regarde sur Google.
Portekoi
#7
Posté 26 juillet 2011 - 10:23
Sinon c'est dataType dont tu parles qui peut prendre comme valeur xml|html|json|jsonp|script, essaye, mais je pense pas que ça résolve ton souci.
Quoiqu'il en soit, on n'en sait pas davantage sur ce qui provoque l'apparition du sablier, d'où ma demande
Perso, je n'ai pas de doute sur le fait que ton code fonctionne...mais sans débogueur, j'ai un peu (beaucoup) la flemme de chercher une solution à l'aveugle pour ton souci.
L'héroïsme, c'est la seule manière de devenir célèbre quand on a pas de talent (l'homme aux initiales douteuses)
Venez tester votre niveau de compétence en PHP :-)
#8
Posté 26 juillet 2011 - 11:25
Pas trop besoin de mon code ici, on est plus dans la théorie.
Mais peu importe. Ce sujet est plus une bouteille à la mer qu'autre chose.
Si un jour vous avez une idée je suis preneur, sinon merci quand même.
Ce message a été modifié par Locace - 26 juillet 2011 - 11:26.
Je peux vous aider avec : CSS, Html, eZ Publish, Wordpress ...
Intéressé par CSS3, HTML5, les interfaces, le futur, ...
#9
Posté 26 juillet 2011 - 11:37
$(document).ready(function(){
document.getElementsByTagName('body')[0].style.cursor = 'default';
});
et remettre en 'auto' dans le callback de ton appel ajax; avec un peu de chance... (peut être moyen d'y accéder via jQuery au cursor, je ne sais pas)
L'héroïsme, c'est la seule manière de devenir célèbre quand on a pas de talent (l'homme aux initiales douteuses)
Venez tester votre niveau de compétence en PHP :-)
#10
Posté 27 juillet 2011 - 18:44
http://www.stevesoud...thout-blocking/
Garages à Nice
Garages à Paris
#11
Posté 28 juillet 2011 - 02:08
Je peux vous aider avec : CSS, Html, eZ Publish, Wordpress ...
Intéressé par CSS3, HTML5, les interfaces, le futur, ...


Haut













