簡體   English   中英

防止瀏覽器在按下后退按鈕時捕捉到上一個滾動位置

[英]Prevent browser from snapping to previous scroll position when pushing back button

當用戶按下后退按鈕時,我需要防止瀏覽器捕捉到上一個滾動位置:

<a href="javascript:history.go(-1)"
      onClick="javascript:history.go(-1)" title="< GO BACK"></a>

按下該按鈕后,瀏覽器將返回到此頁面上的前一個滾動位置,我想停止該行為並只加載頁面頂部。

希望有人知道正確的解決方案。

-例如-

打開一個頁面向下滾動轉到一個新頁面並點擊后退按鈕頁面將自動向下滾動到您之前滾動的位置!

我相當肯定您所描述的行為最好歸類為被認為是用戶偏好的事物之一。 (你不想篡改的那些東西之一)

@mrtsherman 為此提出了一個黑客/解決方法,但除非它嚴重破壞了您的 web 應用程序的可用性,否則我認為您應該讓瀏覽器按照用戶通常期望的方式運行(並滾動到他們離開時所處的位置這一頁)。 如果您使用它,請務必為 mrtsherman 的 js 甜蜜金塊點贊。

我有同樣的問題,我還沒有找到正確的解決方案,
但是我可以為您提供解決此問題的非常好的方法。

加載下一頁之前只需滾動到頂部。
當用戶單擊返回時,瀏覽器將滾動到頂部。

例子:

第一頁:
<a href="page2.htm" onclick="window.scrollTo(0, 0);">Next</a>

第二頁:
<a href="page1.htm" onclick="history.go(-1); return false;">Back</a>

請注意href="page1.htm"僅在用戶選擇在新窗口/選項卡中打開時加載

原諒我的英語。 我希望這有幫助。

我找到了更好的解決方案!

在每一頁上放置以下代碼:

<script>
  setTimeout('window.scrollTo(0, 0);', 1);
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM