2012-02-05 13 views
1

ディープリンクをページに実装すると、外部リンクからそのページが来たときに、そのfancyboxモーダルが開始されます。私はJS/Jqueryを初めて使用していますFancyBox/Popup Deeplinking

答えて

0

私は今朝も同じことを探していて、あなたの質問と答えがあるフォーラム投稿を見つけました。 ?あなたはこのフォームであなたの2つの数値パラメータを渡して、そのページにリンクしている場合

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

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

})(); 

「すると:

concert.html AB = 1 | 5

これは、呼び出しページの見事な効果を持っている必要があります。(1、5); - それは私を助けてくれたときにページがロード」

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

はそれがお役に立てば幸いです。 :)

0

私はfancybox2とurlハッシュで自分で解決しました。

Fancyboxコールバックを使用して、ハッシュを設定および設定解除できます。
imgタグにデータ属性を使用してimg識別子を格納しました。
次に、pageloadの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を参照してください。コードを見るために "show"をURLから削除する –

関連する問題