2009-09-16 6 views
0

J'ai un site Web avec deux pages. A et B. Lorsque vous cliquez sur un lien dans la page A, il utilise le Prototype Ajax.Updater() pour charger la page de lien (page B) dans un div sur la page (Page A).sIFR ne fonctionne pas avec le chargement de page prototype AJAX

Lorsque la page B est chargée dans la page A, les remplacements de sIFR ne fonctionnent pas et le texte interne de l'étiquette ne s'affiche même pas.

J'ai essayé de faire un sIFR.redraw() lorsque la page a été chargée dans la div, sans succès.

Lorsque je vois la page B dans le navigateur, cela fonctionne parfaitement.

Est-il possible d'insérer du HTML dans une balise DIV sur une page en utilisant AJAX et d'afficher correctement le sIFR?

Répondre

0

Je suppose que vous avez probablement besoin de réinitialiser sIFR dans le rappel onComplete de Ajax.Updater

+0

Oui. Vous devez exécuter les remplacements à nouveau. –

0

Ceci est la façon dont je fini par faire ce

new Ajax.Updater('content', url, { 
    onComplete:function(){ 
    sIFR.replace(font, { 
     selector: '#content h2' 
    }); 
    } 
}); 
0

Vous pouvez mettre cet extrait dans votre code html:

<script type="text/javascript"> 
    function pageLoad(sender, args) { 
     sIFR.replace(font, { selector: '#content h2' }); 
    } 
</script> 

Il exécute les remplacements sIFR chaque fois que la page est rechargée. C'est sur les postbacks PostBack et Ajax normaux. Assurez-vous d'avoir inclus une instance de ScriptManager sur votre page.

0

mathijsuitmegen: Votre solution a parfaitement fonctionné sur une application que j'utilise là où le ScriptManager était déjà utilisé. Enfait, la fonction était simplement fendue dans mon fichier sifr-config.js et fonctionnait parfaitement signifiant que mon HTML n'était pas encombré.

Questions connexes