2013-04-11 64 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到开始的地方。