2009-09-16 2 views
0

У меня есть сайт с двумя страницами. A и B. Когда вы нажмете ссылку на странице A, она будет использовать Prototype Ajax.Updater() для загрузки страницы ссылки (страница B) в div на странице (Страница A).sIFR не работает с загрузкой страницы прототипа AJAX

Когда страница B загружается на страницу A, замены sIFR не работают, а внутренний текст тега даже не отображается.

Я попытался сделать sIFR.redraw(), когда страница загрузилась в div, без успеха.

Когда я просматриваю страницу B в браузере, он работает отлично.

Возможно ли вставить HTML в тег DIV на странице с использованием AJAX и правильно отобразить sIFR?

ответ

0

Я предположил бы, что вы, вероятно, нужно повторно инициализировать SIFR в OnComplete обратного вызова Ajax.Updater

+0

Да. Вам нужно снова выполнить замены. –

0

Это, как я в конечном итоге делает это

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

Вы можете поместить этот фрагмент в ваш html-код:

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

Он будет запускать замены sIFR каждый раз, когда страница перезагружается. Это относится к обычным postback-сообщениям PostBack и Ajax. Убедитесь, что вы включили экземпляр ScriptManager на свою страницу.

0

mathijsuitmegen: Ваше решение отлично работает над приложением я использую, где ScriptManager уже был в использовании.

Infact, функция была просто пробита в мой файл sifr-config.js и отлично работала, что мой HTML не был загроможден.