Javascript 如何更新子iFrame';在jQuery';s柱

Javascript 如何更新子iFrame';在jQuery';s柱,javascript,jquery,html,iframe,frameset,Javascript,Jquery,Html,Iframe,Frameset,我有一个Firefox的聊天网页,其结构如下 。。。。。外部HTML -----|……框架集框架 ------------|。。。。。。header:contains jQuery post已返回数据:rdata=new\u iFrame\u html\u str,应更新的iFrame的整个html字符串 ------------|。。。。。。iFrame --------------------|。。。。。。标题:包含jQuery --------------------|。。。。。。body

我有一个Firefox的聊天网页,其结构如下

。。。。。外部HTML

-----|……框架集框架

------------|。。。。。。header:contains jQuery post已返回数据:rdata=new\u iFrame\u html\u str,应更新的iFrame的整个html字符串

------------|。。。。。。iFrame

--------------------|。。。。。。标题:包含jQuery

--------------------|。。。。。。body:聊天消息,取决于jQuery头是否正常工作

问题:我不能让这篇jQuery文章工作,也就是说,我找不到一种方法让这篇文章更新整个iFrame(header+body)

我用javascript和jQuery尝试过但失败的事情:

  • top.frames['framesetFrame\u name'].document.getElementById('iframe\u id')。contentDocument.body.innerHTML=new\iframe\u html\u str;
    • 我不喜欢这样,因为它只改变了主体,而不是标题,所以不能显示jQuery生成的行为
  • top.frames['framesetFrame\u name'].document.getElementById('iframe\u bucinid').contentWindow.location.reload();
    • 我不想重新加载,因为重新加载会使iFrame闪烁,这对聊天程序不好
  • top.frames['framesetFrame\u name'].document.getElementById('iframe\u id').contents().html=new\iframe\u html\u str;
    • 不更新任何显示以下内容的内容:(
  • top.frames['framesetFrame\u name'].document.getElementById('iframe\u id')。contentWindow.location.href=new\u iframe\u html\u str;
    • 这实际上是错误的形式,因为它应该是新内容的=url\u
  • $(top.frames['framesetFrame\u name'].document.getElementById('iframe\u id')).html(新的iframe\u html\u str);
    • 不更新任何显示以下内容的内容:(

  • 下面这两行是一种迂回的方式来获取我想要的内容(刷新子iframe的整个HTML)

    有人知道为什么吗

    第一行去掉了“”和“”,因为我们正在更新HTML的innerHTML

    var subtxt = new_iFrame_html_str.substring(6, txt.length-9);
    top.frames['framesetFrame_name']
       .frames['iframe_name']
       .document.body.parentNode.innerHTML = subtxt;