2011-06-29 13 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 answerと似ていました!もう一度ありがとう=) –

+0

どのようにこのようなfancyboxをスタイルできますか?例: '' showCloseButton ':false'? –

+0

@Drejon fancyboxのスタイルシートは、スクリプトとともに親ウィンドウにロードする必要があります。 – Mottie

0

これはできません。 iframeは独立したページであり、JavaScriptを介してのみ親とやりとりすることができます。

あなたのファンシーボックスは、何をしていてもiframeから外に出ることはできませんが、JavaScript経由で親ページの1つに呼び出すことができます。

この投稿は、両方向のご質問にお答えします(親 - >インラインフレーム、IFRAME - >親):注意点としてInvoking JavaScript code in an iframe from the parent page

を、アイフレームは約5年前に流行の外に落ちました。私は新しい生産でそれらを避けるだろう。

乾杯。 :)

+0

はそんなにアダムをありがとうございます!私はiFrameについての古い問題を知っていますが、顧客はそれを使用するように私に要求しました。ビジネスで必要でした...:D 私はリンクを確認し、あなたを元に戻します! –

+0

私たちは皆、その曲を知っています。私の答えが正確であると分かった場合は、左側のチェックボックスをクリックして答えとしてマークしてください。ありがとう。 –

+1

iframeは依然として非常に便利です。 YouTubeとVimeo(と私は確信しています)は埋め込みビデオの代わりにiframeを使用するので、iPadで見ることができます。 – Mottie

関連する問題