这是情况.... 我有一个iframe,位于我的客户端,iframe内容在我的服务器中。 因此,当用户执行某些操作时,我的iframe将会出现,并且可以输入内容,然后发布到我的服务器。但问题是...... iframe本身不会消失。 我唯一想做的就是提交并隐藏iframe。我可以在我的客户端做一个按钮来隐藏我的iframe,但是iframe无法控制客户端的js。客户端也无法控制我的iframe上的按钮。 所以,我想在客户端制作一个按钮,并提供一些命令来提交按钮....但问题是我该怎么做?谢谢。
答案 0 :(得分:3)
iframe和父文档可以通过javascript进行通信:
window.frames["iframe_name"]
。这是iframe的window
对象,从这里你可以用js做任何事情。window.opener
访问iframe。同样,这是父文档的window
。也许this question也会帮助你。
答案 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('iframe_id');
// or
var el = window.frames["iframe_name"];
// or
var el = window.frames[0];
var frame_win = getIframeWindow(el);
if (frame_win) {
frame_win.targetFunction();
...
}
...