我有嵌套的iframe,我想对内部框架使用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;
永远不会被执行。
是否有可能这样做?
我想确保在执行任何代码之前加载所有帧。
由于
答案 0 :(得分:2)
将以下视为您的窗口树
父窗口(P1)
---- iframe 1(I1)
-------- Iframe 2(I2)
现在在p1中,保持函数说pfunc,在其中编码你想要编码的任何内容
I1中的保持功能如下
function callParent()
{
parent.pfunc();
}
在I2上的on onload调用函数下面
function callParent()
{
parent.callParent();
}
这样可以随心所欲。