jQuery fancybox - указывать целевой div #id в iframe - PullRequest
6 голосов
/ 16 июня 2010

Можно ли использовать fancybox для загрузки указанного div #id с другой страницы вместо загрузки всей страницы через iframe?

Например, я могу использовать

 $('#link-whole').fancybox({
                'width'             : '80%',
                'height'            : '80%',
                'type'              : 'iframe',
            });

с

<a id="link-whole" href="somepage.html">link 1</a>

, чтобы загрузить весь файл somepage.html в iframe, но как мне загрузить JUST содержимое из div с идентификатором "target" (например)?

Ответы [ 3 ]

15 голосов
/ 16 июня 2010

Если страница находится в том же домене, что и страница, на которой вы открываете fancybox, тогда вы сможете использовать параметр dataFilter jQuery.ajax , чтобы отфильтровать возвращенные данные до цели. ID, который вы хотите.

$('#link-whole').fancybox({
    'width': '80%',
    'height': '80%',
    'type': 'ajax',
    'ajax': {
        dataFilter: function(data) {
            return $(data).find('#yourTargetID')[0];
        }
    }
});
4 голосов
/ 04 декабря 2010

Если метод find не работает для вас, попробуйте filter в строке внутри объекта dataFilter.

    return $(data).filter('#yourTargetID')[0];
0 голосов
/ 08 марта 2016

Вы можете настроить таргетинг на определенную часть страницы, используя beforeShow

                  function opendialog(mypage) {
                  var linktoopen=mypage ;
                    $.fancybox({                        
                    'autoScale': false,
                    'transitionIn': 'elastic',
                    'transitionOut': 'elastic',
                    'speedIn': 500,
                    'speedOut': 300,                    
                    'width'         :  800,
                    'height'        :   410,
                    'autoDimensions': false,
                    'centerOnScroll': true,
                    'scrolling'   : 'no',
                    'type' :  'iframe',
                    'href' : linktoopen,
                      beforeShow: function(){
                          $(".fancybox-iframe").css({
                          margin  : "-380px 0 0",
                         height:"790px"
                       });
                     }
                    });
                    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...