2014-04-27 53 views
0

我正在使用Google Maps iFrame Embed将一些地图嵌入到页面中。这些地图被加载到一个页面,并在点击后显示在一个灯箱(带有其他信息)。是否有可能不加载iFrame内容直到灯箱链接被实际点击?不要加载iFrame谷歌地图直到灯箱点击

我不想加载10+地图时,可能只需要一个或两个。

这可能吗?

我使用Fancybox 2作为lightbox和jQuery 2.1。

我已经考虑过使用jQuery在点击时注入iFrame代码,但我不确定最好的方法。

回答

1

可以有不同的方式,1个可能的:

商店src中的iframe(例如data-src)另一属性和收藏夹打开时分配src

$(".selector").fancybox({ 
    afterLoad:function(){ 
     this.content.find('iframe') 
     .each(function(i,f){ 
      f=$(f); 
      if(!f.attr('src')) { 
      f.attr('src',f.data('src')); 
      } 
     });    
    } 
}); 
+0

即运作良好。谢谢。我在Firebug上看到这个错误:\t '... e(d)} catch(k){e(1,k); return} b(a)} else e(0,null)}; c [ gb](“GET”,a,!0); c.send(null)} ... init_embed.js(第28行)' - 我不确定它是否在我的网页上,或者它是Google Maps?它似乎不会在页面上造成任何问题。 – L84

+0

错误是由谷歌强制(我猜试图访问父文档) –