大家好日子。
我有以下设置:
包含html,js等(通常的东西)和iFrame的页面。在iFrame中,我有一个执行某些操作的功能(任何事情..警报('test');例如)。
如果我点击主页面上的按钮,我需要运行该功能。
例如,如果我在主页面中按下按钮提醒,则iFrame中必须出现带有“测试”字样的警报。
答案 0 :(得分:2)
document.frames[n]
可以按照文档中显示的顺序访问框架。
所以document.frames[0].contentWindow.myFunction()
会在框架内调用你的函数,以防iframe是唯一的框架。
从框架中调用主窗口中的功能可通过top
top.myFunction()
进行操作。如果您只想提升一级,请使用parent
。
答案 1 :(得分:0)
更强大:
function getIframeWindow(iframe_object) {
var doc;
if (iframe_object.contentWindow) {
return iframe_object.contentWindow;
}
if (iframe_object.window) {
return iframe_object.window;
}
if (!doc && iframe_object.contentDocument) {
doc = iframe_object.contentDocument;
}
if (!doc && iframe_object.document) {
doc = iframe_object.document;
}
if (doc && doc.defaultView) {
return doc.defaultView;
}
if (doc && doc.parentWindow) {
return doc.parentWindow;
}
return undefined;
}
和
...
var el = document.getElementById('targetFrame');
getIframeWindow(el).targetFunction();
...