私はまだ自分で答えを探していますが、おそらくこれはあなたを助けるでしょう。
jQuery Mobileはハッシュを使用して、ページを履歴に保持し、元に戻ります。Photoswipeでカルーセルモードに入ると、イベントハンドラーがバックイベントにアタッチされます(閉じる(x)ボタンは、履歴のギャラリーインデックスページに戻るだけです)。閉じる(x)ボタンを使用すると、イベントハンドラーが切り離され、jQueryMobileに制御が戻ります。デバイスの戻るボタンを使用してカルーセルから抜け出すことは、jQueryMobileのハッシュリストがどういうわけか台無しになっているため機能しません。
修正を見つけたら、ここに投稿します。
(ソリューションを追加するために編集されました。)
私は自分に合った解決策を見つけました。
あなたがする必要がある2つのことがあります:1)bodyタグからps-activeクラスを削除します2)すべてのphotoswipeインスタンスを見つけてそれらの設定を解除します
次のコードは私のために働いた:
$(document).bind('pagebeforechange', function(e) {
if ($('.ps-carousel').length) {
$('body').removeClass('ps-active');
$('div.gallery-page').each(function(){
var photoSwipe = window.Code.PhotoSwipe;
var photoSwipeInstance = photoSwipe.getInstance($(this).attr('id'));
if (typeof photoSwipeInstance != "undefined" && photoSwipeInstance != null) {
photoSwipe.unsetActivateInstance(photoSwipeInstance);
}
});
}
});
フォトワイプの例( http://www.photoswipe.com/latest/examples/04-jquery-mobileなど)で使用されているものと同じクラスを使用していない場合は、「div.gallery-page」を変更する必要があることに注意してください。 .html)