2011-06-29 74 views
4

我在這裏遇到了問題。我在iFrame中有一個fancybox,它工作正常,但我需要它擴展到iFrame之外,因此它可以填充整個屏幕(我的意思是擴展到它的父級)。將iFrame內的Fancybox擴展到外部

有誰知道該怎麼做?

回答

8

如果頁面和iframe都在同一個域中,則可以從iframe中打開父窗口中的fancybox窗口。檢查出the demo

父窗口(包含的fancybox腳本,CSS和iframe)

<iframe src="child-page.htm" height="250" width="500"></iframe> 

子頁面(包含腳本調用的fancybox父)

$('a').click(function() { 
    // target the parent window (same domain only) 
    // then call fancybox in the parent 
    // You can add any HTML you want inside the fancybox call 
    window.parent.$.fancybox('<img src="http://farm5.static.flickr.com/4058/4252054277_f0fa91e026.jpg" height="333" width="500">'); 
}); 
+0

雖然我已經刪除了iFrame,但我在刪除iFrame之前使用的解決方案類似於@fudgey答案!再次感謝=) –

+0

你怎麼樣式這樣fancybox?例如:''showCloseButton':false'? –

+0

@Drejon fancybox的樣式表應該隨着腳本一起加載到父窗口中。 – Mottie

0

這是不可能的。 Iframes是獨立的網頁,只能通過JavaScript與父母互動,即使這樣也是陰暗的行爲。

無論你做什麼,你的fancybox都無法擴展iframe,但有些工作可以通過JavaScript在父頁面上調用。

這個職位將回答兩個方向的問題(父 - > IFRAME,IFRAME - >父):Invoking JavaScript code in an iframe from the parent page

作爲一個側面說明,I幀大約5年前跌出時尚的。我會避免他們在任何新的生產。

乾杯。 :)

+0

太感謝你了亞當!我知道關於iFrame的老問題,但客戶要求我使用它,所以,我用了!這是必要的業務...:D 我會檢查鏈接,並餵給你回來! –

+0

我們都知道調。如果您發現我的答案是準確的,請點擊左側的複選框將其標記爲答案。謝謝。 –

+1

iframes仍然非常有用。 YouTube和Vimeo(我確定其他人)現在使用iframe而不是嵌入式視頻,以便您可以在iPad上觀看它們。 – Mottie