簡體   English   中英

花式盒子第二次沒有打開iFrame

[英]Fancy box not opening iFrame second time

第一篇文章 - 你好! 我使用fancybox( Fancybox主頁 )來顯示模態窗口。 我正試圖在這個div里面顯示一個帶有iFrame的隱藏div。 效果很好。 第二次單擊該鏈接時,它不會加載iFrame(不是404錯誤,只是iFrame中沒有內容)。 有人可以幫忙嗎?

重要的一點:

<script type="text/javascript">
function openIframeLink() {
    $.fancybox({
        'type'          : 'inline',
        'href'          : '#data'
    });
};
</script>

和HTML:

<div id="hiddenElement">
    <iframe id="data" src="frames/frame4.php" width="100%" height="300"></iframe>
</div>

有同樣的問題。 基於Frode評估它正在剝離src屬性,我在我的fancybox調用上添加了'onClosed'回調,並且能夠將其添加回:

jQuery('#iframe_element').fancybox({
    'onClosed': reloadIframe
});

function reloadIframe() {
    jQuery('#iframe_element').attr('src','http://example.com');
}

看起來fancybox從DOM中提取iframe元素並將其放入自己的容器中。 然后,當你關閉fancybox時,它會嘗試將它插回原來的位置 - 但設法松開src屬性值。

fancybox家伙批准打開iframe的方法似乎如下。

<a id="mylink" class="iframe" href="frames/frame4.php">mylink</a>
<script type="text/javascript">
    $("#mylink").fancybox();
</script>

繞過它的一種方法是克隆iframe元素,即

function openIframeLink() {
    $.fancybox( {content: $('#data').clone()} );
}

顯然不理想..我喜歡聽到更熟悉的人。

Fancybox丟失了src屬性。 這是我從那時起一直使用的解決方法

function openIframeLink() { 
    /* Grab the src before fancybox loses it */ 
    theSrc = $("#data").attr('src'); 
    $.fancybox({ 
        'type'     : 'inline', 
        'href'     : '#data', 
        onClosed     : function()
        { 
            $('#data').attr('src', theSrc); 
        } 
    }); 
};

這是我恢復src屬性的方法,而不事先知道元素。

可以幫助別人..

$(".fancybox.iframe").each(function(){
    var target = $($(this).attr("href"));
    var src = target.attr("src");
    $(this).fancybox({
        'type': "inline",
        'content': target,
        'onClosed': function(){
            target.attr("src", src);
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM