重新加载页面后在 Stack Overflow(或其他网站)上查看最后结果

View last results on Stack Overflow (Or other website) after reload page

这是我在 meta 上提出的第一个 HTML/javascript 问题,目前还没有结果, 在 Stack Overflow 我重新加载我的标签页面,该页面显示与我选择的标签相关的问题。

如果我想通过重新加载回到上一个 results/page,那么我想检查的问题是不可能的,因为它在历史记录中回到了不同的页面(或空白页面) .

我可以转到上一个视图吗?不可能吗?

有时问题会被删除或更改标签,因此很难找到它们。

是否可以在 javascript/HTML 中查看最后的结果?

我遇到过很多次同样的情况,想看看刚刚看到的东西,但互联网已经从我身下变了。 (它实际上是在我研究这个答案时发生的......)强制性 XKCD:https://xkcd.com/1309/


我们来谈谈 这个问题实际上在问什么? 这个问题中给出的 例子 就是这个网站,SO。但是目的可以适用于任何有动态信息的网站。当用户浏览信息时,经常使用的模式是 link 进入更具体的细节。当用户移回通用列表时,有时会出现新信息已添加、旧信息已删除或只是一般性移动的情况。在这些情况下,用户可能很难导航回他们可能想查看的信息,或者他们已经查看但现在丢失 link 的信息。 我们询问在用户习惯和网站设计方面可以做些什么来使这个用户体验更好

我认为这个问题确实适用于元和 non-meta,因为有很多方面:作为网站,SO 具体可以做什么来改善他们的用户体验(元问题);网站开发人员通常可以做些什么来改善这方面的用户体验;在没有网站特别考虑的情况下,用户可以做些什么来更好地利用他们的技术或改进他们的工作流程来改善他们的用户体验。先说说用户能做什么。


用户可以做什么?

从某种意义上说,这应该是一个简单的任务。浏览器需要做的就是在移动到新页面时在其缓存中保留当前 DOM 的记录,然后在返回时加载缓存的 DOM ,就像你上次查看时一样它。但是浏览器实际上做了什么?

  1. 默认情况下,浏览器现在不会始终如一地为您提供帮助 的回答给了我们一些启示。从本质上讲,'back' 可能会导致许多不同的事情,从像我上面描述的那样加载缓存资源,到重新加载一些资源,再到重新获取所有内容。而这一切都取决于您浏览器的神秘阴谋。 你对发生的事情基本上没有发言权。 (当然,除非您使用多种方法之一强制跳过缓存并重新加载所有资源,但似乎没有任何方法可以强制从缓存中加载)。所以,那里没有骰子。

  2. 我能找到的最接近的浏览器功能offline in Chrome时从缓存加载的设置。但这需要我们在浏览时不断地在连接和断开互联网之间切换。 不是很有帮助

  3. 上面的点其实只是证明了这应该是100%的可能, 如果 我们可以只查看浏览器的页面缓存 。我们可以! GolfWolf 让我们知道方便的 chrome://cache 地址,让我们可以查看浏览器缓存的完整内容! 不幸的是,它都是十六进制的,所以对于浏览不是很有用...

  4. tools that will convert the hex dump to a viewable webpage as Senseful 指向我们。但我认为,进入您的缓存,找到旧页面,将十六进制复制到翻译器,然后查看您的页面 对于常规浏览来说,这不是一个非常友好的工作流程

所以,我们的浏览器对于我们想要完成的事情来说基本上是无用的。我们只有几个选择:

  1. Write our own browser
  2. 非常定制的东西...

    一个。 一个可能是设置某种代理,硬缓存所有通过它的页面和return来自当您返回浏览器时缓存。也许是一个简单的浏览器扩展按钮,单击它可以向代理发送消息以清除其缓存?

    乙。当我们谈论 疯狂的想法 时...可以 制作一个在 iframes 中加载页面的网页并且试图拦截 link 点击,而不是在同一个 iframe 打开一个新的 iframe 到新页面,只是隐藏旧的 iframe 在它以前的状态,所以当你去 'back' 它只是取消隐藏你的旧页面。但那是 super 笨拙的,并且会破坏很多东西 所有这些不连续性。 (别忘了,并非所有 link 都会打开一个新页面,这个计划有很多可能出错的方式)。

除了实际解决这个问题,我们还能做些什么来缓解或解决我们的问题? ...永远不要离开网页...永远...
说真的,这是我的工作流程:打开主页,在新标签页中打开所有link(您通常可以cmd/ctrl-click 在新选项卡中快速打开 link),保持所有选项卡打开,直到我完成。


网站能做什么?

几件事。 有许多策略可用于使信息可遍历,它们都有自己的好处和后果。这不是一个详尽的列表:

  1. 站点可以为所有可能影响信息呈现的内容实施带有参数的自定义 url。 Google 搜索就是这样做的。通过这种方式返回到 link(或只是将 link 共享给其他人)将导致以与以前相同的确定性方式加载页面。这可以用来取得巨大的成功,但也可能导致过长的 links。

  2. 站点可以使用 cookieslocal storage 来跟踪您在何处恢复状态您 return 到上一页。

  3. 站点可以创建自己的历史记录供您浏览。这与 SO 现在在其他方面所做的类似,但走极端了。基本上,记录每个动作、每个评论、每个视图、每个 post,绝对是所有内容。然后让用户浏览这些事物的历史(显然有很多排序和过滤选项),让他们筛选出他们正在寻找的东西。即 "What was that post I was looking at yesterday? ...searching... Oh here it is!"

其中每一个都是 巨大的 主题。 Way 超出了此处关于 SO 的答案范围。


TL;DR

  • 用户不能做很多工作,或者以一种或另一种方式,或两种方式打破流程。
  • 一个网站可以做很多的事情来减轻用户的痛苦。但没有灵丹妙药。只需要做大量的工作即可获得良好的用户体验。

你可以试试用ids只用浏览器返回,但是如果问题被删除我想如果你不使用网络爬虫软件就没有办法抓到它的内容:/

https://whosebug.com/questions/{ID}/(自增id)