返回上一页而不使用 jquery 刷新,而不是使用 angularjs

Lea*_*Net 5 javascript jquery

我在本地运行一个脚本,在其中一个函数中,它转到不同的页面。一旦这样做,我希望它返回上一页并继续在本地运行脚本。

有没有办法在不刷新页面的情况下返回上一页。我使用parent.history.back();它返回上一页但刷新页面,因此我的脚本停止运行。

Ste*_*n P 4

有没有办法在不刷新页面的情况下返回上一页?

TL;DR - 简短的答案是“否”
    如果不“刷新”页面就无法返回。

“刷新”是一个有点模糊的术语,没有确切的技术含义......

以任何方式“返回”,无论是浏览器的后退按钮还是您.history.back()告诉浏览器加载其历史记录中的上一页。

页面是从浏览器缓存加载还是从服务器重新请求取决于浏览器,而不是由您决定。

无论如何,浏览器是否会重新解析 DOM 和/或重新渲染页面再次取决于浏览器。事实上,它确实这么做。

其中任何一个都可以称为“刷新”。

然而,那时浏览器将开始解析并执行存在的任何脚本。在任何情况下,无论页面卸载时脚本中的位置如何,它不会继续。

浏览器返回的页面是从服务器接收到的 HTML 文本,但脚本可能在页面加载后显着修改了 DOM。当页面通过返回重新加载时,这些脚本需要从头开始再次运行。

可以想象,编写一个浏览器,在离开页面时保存 DOM 状态和 js 执行状态,并在返回时恢复该状态,但不存在这样的浏览器。


根据您的实际目标,可以执行许多操作,例如pushState()replaceState()、单页 Web 应用程序、XMLHttpRequest、 using<iframe>等。您可以将当前页面内容 (DOM) 替换为其他内容,而无需实际执行“前进”,并在稍后“返回”页面时恢复保存的 DOM,
但这对于 Stackoverflow 问题来说太大了。