我有一个有两页的网站。 A和B.当您单击页面A中的链接时,它将使用原型Ajax.Updater()
将链接页面(页面B)加载到页面上的div(页面A)中。
当页面B加载到页面A时,sIFR替换不起作用,标签内部文本甚至不显示。
我已尝试在页面加载到div时执行sIFR.redraw()
,但没有成功。
当我在浏览器中单独查看页面B时,它可以很好地工作。
是否可以使用AJAX将HTML插入到页面上的DIV标记中并正确显示sIFR?
答案 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并没有混乱。