一个嵌套在另一个iframe中的iframe的Onload函数

3
我有一个嵌套的iframe,我想为内部帧使用onload函数。例如:

我有嵌套的iframes,我希望在内部框架中使用onload函数。例如:

<script type="text/javascript">
 var testing = 'test';
 var curFrames;
 var curUrl;
 var mFrames;
 var cFrame;
 var editor;
 var editor2;

 window.onload=CodeOnLoad;

 //Javascript that runs on load
 function CodeOnLoad() {
  curFrames=document.getElementsByTagName("frame");

  console.log(curFrames[0])

  //onload for 1st frame  
  curFrames[0].onload = getInside;


  function getInside() {
   //onload for second frame - Not working 
   curFrames[0].contentDocument.getElementByid('the_iframe').onload = finalFrame;
  }

  function finalFrame() {

   curUrl= curFrames[0].contentDocument.getElementById("the_iframe").src;
   console.log(curUrl);

   if (curUrl.indexOf("post")!=-1)
   {
    mFrames=document.getElementsByTagName("frame");
    cFrame = mFrames[0].contentDocument.getElementById('the_iframe');
    editor = cFrame.contentWindow.tinymce.activeEditor;
    console.log(editor);    
   }
  }
 }

 </script>

代码(第二个回调):
curFrames[0].contentDocument.getElementByid('the_iframe').onload = finalFrame;

从未执行。

这样做是否可行?

我希望确保在执行任何代码之前,所有框架都已被加载。

谢谢。

1个回答

2

请把下面的内容当做您的窗口树

父窗口(P1)

----Iframe 1(I1)

--------Iframe 2(I2)

现在在P1中,保留函数say pfunc,在其中编写您想要编写的任何代码

在I1中,保留以下函数:

   function callParent()
   {
       parent.pfunc();
   }

在I2中,在窗口加载时调用下面的函数。
function callParent()
{
   parent.callParent();
}

这将按照你的要求完成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接