Valider 3edd1b0a rédigé par cerdic's avatar cerdic
Parcourir les fichiers

- Puisque l'ajax gere proprement les ancres sur les liens, annulons le...

- Puisque l'ajax gere proprement les ancres sur les liens, annulons le positionnement automatique sur le bloc ajax, il suffira de le demander au cas par cas grace a l'ancre du lien (et c'est deja le cas pour la pagination)
- au retour d'un un form ajax en POST, vider le cache des urls ajax en premiere intention, avant d'injecter le html/js au cas ou un js voudrait suivre un lien ajax. Ensuite, on peut se permettre de retablir le cache des urls ajax, si le POST n'a pas de message de reussite que l'on interprete comme une modif possible en base
parent a7ede871
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+12 −13
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -191,6 +191,11 @@ jQuery.fn.formulaire_dyn_ajax = function(target) {
					jQuery(leform).ajaxFormUnbind().submit();
				}
				else {
					// commencons par vider le cache des urls, si jamais un js au retour
					// essaye tout de suite de suivre un lien en cache
					// dans le doute sur la validite du cache il vaut mieux l'invalider
					var preloaded = jQuery.spip.preloaded_urls;
					jQuery.spip.preloaded_urls = {};
					jQuery(cible).html(c);
					var a = jQuery('a:first',cible).eq(0);
					var d = jQuery('div.ajax',cible);
@@ -225,9 +230,10 @@ jQuery.fn.formulaire_dyn_ajax = function(target) {
							},10);
						}
					}
					// on vide le cache des urls car on a fait une action en bdd
					if (jQuery('.reponse_formulaire_ok',cible).length)
						jQuery.spip.preloaded_urls = {};
					// si jamais le formulaire n'a pas un retour OK, retablissons le cache
					// car a priori on a pas fait d'operation en base de donnee
					if (!jQuery('.reponse_formulaire_ok',cible).length)
						jQuery.spip.preloaded_urls = preloaded;
					// mettre a jour le buffer du navigateur pour aider jaws et autres readers
					jQuery.spip.updateReaderBuffer();
				}
@@ -271,15 +277,8 @@ jQuery.spip.on_ajax_loaded = function(blocfrag,c,u) {
	if (a.length
		&& a.is('a[name=ajax_ancre]')
		&& jQuery(a.attr('href'),blocfrag).length){
			a = a.attr('href')
		setTimeout(function(){
		a = a.attr('href');
		jQuery(a,blocfrag).positionner(false);
			//a = a.split('#');
			//window.location.hash = a[1];
		},10);
	}
	else {
		//jQuery(blocfrag).positionner(false);
	}
	jQuery.spip.log('on_ajax_loaded');
	jQuery.spip.triggerAjaxLoad(blocfrag);
@@ -295,7 +294,7 @@ jQuery.spip.on_ajax_loaded = function(blocfrag,c,u) {
jQuery.spip.loadAjax = function(blocfrag,url, href, force, callback){
	jQuery(blocfrag)
	.animeajax()
	.addClass('loading').positionner(false);
	.addClass('loading');/*.positionner(false)*/;
	if (jQuery.spip.preloaded_urls[url] && !force) {
		jQuery.spip.on_ajax_loaded(blocfrag,jQuery.spip.preloaded_urls[url],href);
	} else {