2013-04-11 73 views
0

發現當你重新打開fancybox與谷歌地圖iframe - iframe是空的。 見演示here從fancybox上的谷歌地圖空iframe重新打開?

或例如

<div style="display:none;"> 
<div id="route-window" > 
    <iframe id='i' width="650" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?q=.+%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0,+%D0%91%D0%B5%D1%80%D0%B5%D0%B6%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F+%D0%BD%D0%B0%D0%B1,+%D0%B4.+16+%D0%90,+%D1%81%D1%82%D1%80.+2&amp;hl=ru&amp;ie=UTF8&amp;sll=47.879165,13.837945&amp;sspn=0.112139,0.308647&amp;hnear=%D0%BD%D0%B0%D0%B1.+%D0%91%D0%B5%D1%80%D0%B5%D0%B6%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F,+16%D0%90,+%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0,+%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F,+121059&amp;t=m&amp;source=gplus-ogsb&amp;hq=&amp;ll=55.743734,37.565174&amp;spn=0.023191,0.054932&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe> <br /><small><a href="https://maps.google.com/maps?q=.+%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0,+%D0%91%D0%B5%D1%80%D0%B5%D0%B6%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F+%D0%BD%D0%B0%D0%B1,+%D0%B4.+16+%D0%90,+%D1%81%D1%82%D1%80.+2&amp;hl=ru&amp;ie=UTF8&amp;sll=47.879165,13.837945&amp;sspn=0.112139,0.308647&amp;hnear=%D0%BD%D0%B0%D0%B1.+%D0%91%D0%B5%D1%80%D0%B5%D0%B6%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F,+16%D0%90,+%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0,+%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F,+121059&amp;t=m&amp;source=embed&amp;hq=&amp;ll=55.743734,37.565174&amp;spn=0.023191,0.054932&amp;z=14&amp;iwloc=A" style="color:#0000FF;text-align:left">Просмотреть увеличенную карту</a></small> 
</div> 
</div> 

和init鏈路

$('#link]').fancybox(); 

用於鏈路

<a href="#route-window" id="link"> 

在第二開口 - 谷歌返回空的iframe :(

+1

什麼版本的fancybox?如果v1.3.4,那麼你可能想檢查這個http://groups.google.com/group/fancybox/browse_thread/thread/d7321b9a4df5b20b – JFK 2013-04-11 15:30:48

+0

是啊!非常感謝!問題被確切地描述並通過您的鏈接在文章中修復。 – SAHbKA 2013-04-12 09:42:30

回答

1

感謝JFKlink的答案

問題:在的fancybox V1.3.2 +內嵌的內容是「移動」到 的fancybox和(隱藏)臨時容器離開來代替。當您將iframe標記爲內聯內容時,會發生問題 。 iframe(標籤)被移動到fancybox中,但是一旦你關閉了fancybox,「移動的」iframe(標籤)就會移回原來的位置並丟失它的src的值 屬性並獲得「about:blank」的值,因此第二個 時間fancybox被觸發,它只顯示一個空的(空白)框。

解決方法:當IFRAME (標籤)移入的fancybox再一次的fancybox關閉

使你的腳本應該是這樣的值恢復到 iframe標籤緩存src屬性的值:

$(document).ready(function() { 
    var mySRC =""; 
    $("a.fancybox").fancybox({ 
    'padding': 0, 
    // other API options etc 
    'onComplete': function() { 
     mySRC = $('#inlineParent iframe').attr('src'); 
    }, 
    'onClosed': function() { 
     $('#inlineParent iframe').attr('src',mySRC); 
    } 
    }); // fancybox 
}); // ready 

注意:這是對的fancybox V1.3.4只

0

的另一種選擇是將有防皺DIV某處頁即

<div style="display:none" id="fb"></div> 

,並有完備的項目/ IFRAME等克隆到那裏裝模態

'onComplete': function() { 
    $('#fb').append($(this.href).clone()); 
}, 

它意味着你將複製頁面上的項目,並有2個實例,而模式是打開的,一旦關閉它將在不同的隱藏div到開始的地方。