2012-06-14 138 views
1

我写了一个函数来删除一个iFrame,但是我想删除的iFrame在另一个php脚本中调用。我想知道如何我可以参考这个脚本。这是当iFrame的将是同一个脚本代码:参考其他页面上的对象

function removeFrame(framename,action){ 
    iFrameObject = document.getElementById(framename); 
    iFrameObject.style.display = action; 
} 

所以我想是“otherpage.php.document.getElementbyId(framename)”,但我真的不知道如何做到这一点..

+0

您要求的内容尚不清楚。你能否描述从用户的角度会发生什么? – cheeken

+0

嗯,我有一个包含2个iframe的页面。在第一个iframe中,我有一个带有提交按钮的表单。当用户点击这个按钮时,第二个iFrame应该消失。这是否使问题更清楚? –

回答

0

在我回答你的问题之前,我强烈建议避免这样的情况 - 帧之间的通信 - 如果可能的话,因为它很快就会变得混乱。

但是,您可以通过对代码的小修改来完成要求的内容。从iframe或从父窗口本身调用修改后的函数。但请记住,窗口间通信受制于same origin policy

function removeFrame(framename,action){ 
    iFrameObject = window.parent.document.getElementById(framename); 
    iFrameObject.style.display = action; 
} 

这种变化涉及指向当前window的父母,这在iframe的情况是嵌入到页面。当前window没有真正的父窗口时,window.parent引用当前窗口(这解释了为什么此功能在父页面或iframe内工作)。

+0

非常感谢,这正是我需要的!事实上,我会在下次尝试避免这种情况,但是当我开始时我并不真正知道自己在做什么,现在我不想重新开始:)。 –