sIFR无法使用原型AJAX页面加载

时间:2009-09-16 19:58:39

标签: ajax prototypejs sifr

我有一个有两页的网站。 A和B.当您单击页面A中的链接时,它将使用原型Ajax.Updater()将链接页面(页面B)加载到页面上的div(页面A)中。

当页面B加载到页面A时,sIFR替换不起作用,标签内部文本甚至不显示。

我已尝试在页面加载到div时执行sIFR.redraw(),但没有成功。

当我在浏览器中单独查看页面B时,它可以很好地工作。

是否可以使用AJAX将HTML插入到页面上的DIV标记中并正确显示sIFR?

4 个答案:

答案 0 :(得分:0)

我想你可能需要在Ajax.Updater的onComplete回调中重新初始化sIFR

答案 1 :(得分:0)

这就是我最终做这个的方式

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

答案 2 :(得分:0)

您可以将此代码段放在html代码中:

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

每次页面重新加载时,它都会运行sIFR替换。这是正常的PostBack和Ajax回发。确保在页面上包含ScriptManager实例。

答案 3 :(得分:0)

<强> mathijsuitmegen: 您的解决方案完全适用于我正在使用ScriptManager的应用程序。

事实上,该功能只是插入到我的sifr-config.js 文件中,并且工作得非常好,这意味着我的HTML并没有混乱。