2012-02-05 5 views
1

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

ответ

0

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

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

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

})(); 

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

concert.html аб = 1 | 5

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

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

Надеется, что это помогает - это мне помогло. :)

0

Я просто решил это для себя с 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

Перейдите по этой ссылке http://jsfiddle.net/f2fRM/2/show. удалить «показать» из url, чтобы увидеть код –