Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

画像を表示している時に、戻るボタンで前に戻らないようにしてほしい #10086

Closed
Khsmty opened this issue Feb 25, 2023 · 3 comments · Fixed by #10098
Labels
✨Feature This adds/improves/enhances a feature

Comments

@Khsmty
Copy link
Contributor

Khsmty commented Feb 25, 2023

Summary

つい癖で画像を閉じる際に戻る操作をしてしまい、前のページに戻ってしまい地味にストレスです。
ブラウザの戻る操作をした時に、前のページに戻らずに画像を閉じるようにしてほしいです。

少し試してみて、画像は以下のコードで閉じれそうだったのですが
戻る操作をいい感じに打ち消す方法がわかりませんでした。
どなたか頭のいい方がいらっしゃれば助言ください。

window.addEventListener('popstate', () => {
  if (lightbox.pswp && lightbox.pswp.isOpen) {
    lightbox.pswp.close();
  }
});
@Khsmty Khsmty added the ✨Feature This adds/improves/enhances a feature label Feb 25, 2023
@momoirodouhu
Copy link
Contributor

momoirodouhu commented Feb 25, 2023

Vue環境で推奨されるかわかりませんが
history.pushState(null, null, null);
で無の履歴を追加できるので一度だけ打ち消せたはずです
ただ、別の方法(例えば下スワイプ)で閉じたときに残るので注意

@Khsmty
Copy link
Contributor Author

Khsmty commented Feb 26, 2023

URL にハッシュを付けることでなんとかなりました

@syuilo
Copy link
Member

syuilo commented Feb 26, 2023

履歴を操作する方法だと

Aページ->Bページ→Aページ(ブラウザバック)と遷移してきた状態で一度でも画像を開いてしまうとBに(→クリックで)戻れなくなる

ことが発生するのはデメリットかも
ただ履歴操作以外の方法はなさそうだけども

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨Feature This adds/improves/enhances a feature
Projects
None yet
3 participants