1

我已经编写了一个删除 iFrame 的函数,但是我要删除的 iFrame 在另一个 php 脚本中被调用。我想知道如何参考这个脚本。这是 iFrame 在同一脚本中时的代码:

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

所以我想要'otherpage.php.document.getElementbyId(framename)'之类的东西,但我真的不知道该怎么做..

4

1 回答 1

0

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

但是,您可以通过对代码进行少量修改来完成您的要求。修改后的函数将在iframe从父窗口本身或从父窗口本身调用时。但请记住,窗口间通信受相同来源策略的约束。

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

此更改涉及指向 currentwindow的父级,在这种情况下iframe是嵌入它的页面。当当前window没有真正的父窗口时,window.parent引用当前窗口(这解释了为什么这个函数在父页面或 iframe 中起作用)。

于 2012-06-14T12:36:21.147 回答