0

私はギャラリービューアに取り組んでおり、History.jsを使用して素敵なリンクを取得しています。フローは次のとおりです。

http://foo.com/gallery/show/はメインギャラリーを表示します

http://foo.com/gallery/show/photo1は、写真付きの視聴者を示しています

したがって、History.pushState({}、 "photo1")を使用してshow/からshow/photo1に移動します

私の問題は、ビューアを閉じたときにURLをshow /に戻したいので、History.pushState({}、 "")を試しましたが、これは機能せず、show/photo1のままです。

ちなみに、History.go(-X)は実際には使用したくないので、そのユースケースでは論理的ではないようです。

どうやってやるの?ありがとうございました

4

1 に答える 1

1

HTML:

<html>
<head>
</head>
<body>
    <a class='img' href="img1">Image 1</a>
    <a class='img' href="img2">Image 2</a>
    <div class="image-viewer" style="display:none"><p></p>
    <a class="close" href="">Close</a>
    </div>
</body>
</html>
​

JS:

$(function() {
var begin=location.href;
$(".img").on('click', function(e) {
    console.log(location.href);
    var href = $(this).attr("href")
    History.pushState({"state": href, "rand": Math.random()}, "", href);
        console.log(location.href);
     e.preventDefault();
});

History.Adapter.bind(window, 'statechange', function() {
    $(".image-viewer p").html(History.getState());
    $(".image-viewer").show();
});

$(".close").click( function(e) {
    e.preventDefault();
    console.log($(this).parent());
    $(this).parent().fadeOut(1);
    History.pushState({"state": begin, "rand": Math.random()}, "", begin);
});
​})

http://jsfiddle.net/rAxAw/2/

さらにサポートが必要な場合は、qnにお気軽にお問い合わせください

于 2012-10-04T00:24:51.120 に答える