2012-06-14 47 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

非常感謝,這正是我需要的!事實上,我會在下次嘗試避免這種情況,但是當我開始時我並不真正知道自己在做什麼,現在我不想重新開始:)。 –