Не загружайте iFrame Google Map, пока не нажмете кнопку Lightbox

0

Я вставляю несколько карт на страницу с помощью iFrame Embed Google Maps. Эти карты загружаются в страницу и отображаются в лайтбокс (с другой информацией) после клика. Можно ли не загружать содержимое iFrame до тех пор, пока на нем не будет нажата ссылка на лайтбоксе?

Я не хочу загружать карты 10+, когда может понадобиться только один или два.

Возможно ли это сделать?

Я использую Fancybox 2 в качестве лайтбокса и jQuery 2.1.

Я рассмотрел использование jQuery для инъекции кода iFrame при щелчке, но я не уверен в лучшем методе.

Теги:
google-maps
iframe
fancybox-2

1 ответ

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: ...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 (line 28) - я не уверен, находится ли он на моей странице или это Google Maps? Кажется, это не вызывает никаких проблем на самой странице.
  • 0
    ошибка вызвана Google (я думаю, попытка доступа к родительскому документу)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню