1

基本的に、リンクをクリックするとiframeで開くようにページを設定しようとしていますが、親ページのURLはハッシュで更新されますが、iframeのURLは元のクリックされたURL(ハッシュなし)になります。最初のクリックイベントが機能するようになりました。ただし、変更イベント(ユーザーがページに直接リンクしている場合)は機能しません。これが私のコードの抜粋です:

$j('.products-grid .item a, .post a').click(function(){
   $details.fadeIn().addClass('active');
   $j.address.value($j(this).attr('href').substr(2));
   $details.animate({left:detailGap}, { duration: 500, easing: 'easeInOutExpo'});
});

    }).change(function(event) {
       $iframe.attr('src', event.value);
       $details.fadeIn().addClass('active');
       $details.animate({left:detailGap}, { duration: 500, easing: 'easeInOutExpo'});
       var loadurl = location.origin + location.pathname +location.hash.substr(1);
       alert(loadurl);
       $iframe.attr('src', loadurl);
    });

つまり、URLの場合、http ://www.url.com/product-1(iframe url) http://www.url.com/#/product-1(page url)として表示したいthisマゼントです。

ありがとう、ロバート

4

1 に答える 1

0

理解した

    $j('.products-grid .item li a').click(function(){
            $j('html, body').animate({scrollTop: '0px'}, 100);
            $j.address.value($j(this).attr('href'));
            $details.fadeIn().addClass('active');
            $j('body').addClass('open');
            $iframe.attr('src', 'about:blank');
            $details.animate({'left':detailGap - navGap}, { duration: 500, easing: 'easeInOutExpo'});
});

iframeを収納したスライドアウトパネルを開きます。

ターゲットをiframeに設定して、その中でURLが開くようにしました。ただし、ディープリンクは可能です。

あなたはここで最終的な解決策を見ることができます:

http://www.echodesign.com/

于 2012-03-09T15:27:45.710 に答える