1

ユーザーが外部リンクからそのページにアクセスしたときに、そのファンシーボックスモーダルが開始されるように、ページにディープリンクを実装するにはどうすればよいですか。JS/Jquery は初めてです

4

2 に答える 2

0

fancybox2とurlハッシュを使って自分で解決しました。

Fancyboxコールバックを使用して、ハッシュを設定および設定解除できます。
imgタグのデータ属性を使用してimg識別子を保存しました。
次に、pageloadでURLのハッシュを確認し、インデックスを取得して、指定されたインデックスでファンシーボックスを開くことができます。

  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); 
于 2012-10-20T14:42:21.990 に答える
0

今朝同じことを探していたところ、あなたの質問と、回答のあるフォーラムの投稿を見つけました。

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

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

})();

"次に、このフォームで 2 つの数値パラメーターを渡してそのページにリンクすると:

concert.html?ab=1|5

page(1, 5); を呼び出すという驚くべき効果があるはずです。ページの読み込み時。"

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

それが役に立てば幸いです-それは私を助けました. :)

于 2012-02-10T13:47:26.120 に答える