FancyBox / Popup Deeplinking - PullRequest
       16

FancyBox / Popup Deeplinking

1 голос
/ 06 февраля 2012

Как вы реализуете глубокие ссылки на странице, чтобы, когда пользователь заходит на эту страницу по внешней ссылке, запускался модальный fancybox.Я новичок в JS / Jquery

Ответы [ 2 ]

0 голосов
/ 20 октября 2012

Я только что решил это для себя с помощью fancybox2 и URL-хэшей.

Вы можете использовать обратные вызовы Fancybox для установки и сброса хэшей.
Я использовал атрибуты данных в теге img для хранения идентификаторов img.
Затем вы можете проверить хэш в URL при загрузке страницы, получить индекс и открыть fancybox с данным индексом.

  var option = {
        afterLoad: function(links) {
            var title = links.element.attr('data-my-img');
            location.hash = title;
        },
        afterClose: function() {
            location.hash = '';
        }
    },
    hash = location.hash.substr(1),
    gallery = $('.fancybox');
    if(hash.length > 0){
        //id
        var i = null;
        gallery.each(function(index) {
            var o = $(this).attr('data-my-img');
            if($(this).attr('data-my-img') == hash){
                i = index;
                return;
            }
        });
        if(i != null){
            option.index = i;
            $.fancybox.open(gallery, option);
        }
    }
    gallery.fancybox(option); 
0 голосов
/ 10 февраля 2012

Я искал то же самое сегодня утром и нашел ваш вопрос, а также сообщение на форуме, в котором есть ответ.

(function()
{
  var qs = location.search.slice( 1 ), 
      params = qs.match( /&?ab=(\d+)\|(\d+)/ );

  if( params )
    page( Number( params[ 1 ] ), Number( params[ 2 ] ) );

})();

"Тогда, если вы дадите ссылку на эту страницу, передав два ваших числовых параметра вэта форма:

Концерт.html? ab = 1 | 5

Это должно иметь потрясающий эффект вызова страницы (1, 5); при загрузке страницы. "

http://www.webdeveloper.com/forum/showthread.php?t=247899

Надеюсь, это поможет - это помогло мне.:)

...