回到上一页,不使用jquery而不是angularjs刷新
我在本地运行脚本,在其中一个函数中,它转到不同的页面。 一旦它这样做,我希望它返回上一页并继续在本地运行脚本。
有没有办法在不刷新页面的情况下返回上一页。 我用了parent.history.back();
这可以追溯到上一页,但刷新页面,以便我的脚本停止运行。
有没有办法在不刷新页面的情况下返回上一页?
TL; DR – 简短的回答是“不”
没有“刷新”页面就无法返回。
“刷新”是一个有点模糊的术语,没有确切的技术含义……
无论是浏览器的后退按钮还是.history.back()
告诉浏览器加载它在历史记录中保存的上一页,无论以任何方式“返回”。
是从浏览器缓存加载页面还是从服务器重新请求页面取决于浏览器,而不是由您决定。
在任何情况下,再次由浏览器决定是否重新解析DOM和/或重新呈现页面。 实际上,它将会发生这种情况。
其中任何一个都可以称为“刷新”。
然而,那时,浏览器将开始解析并执行任何存在的脚本。 在任何情况下页面卸载时,它都不会在脚本中的任何位置继续 。
浏览器返回的页面是从服务器收到的HTML文本,但是在加载页面后脚本可能会显着修改DOM。 这些脚本需要从头开始重新运行,然后重新加载页面。
可以想象,当你离开页面时编写一个保存DOM状态和js执行状态的浏览器,并在你返回时恢复该状态,但是不存在这样的浏览器。
根据您的实际目标,可以执行许多操作,例如pushState()
和replaceState()
,单页Web应用程序, XMLHttpRequest
,使用等,您可以在其中替换当前页面内容(DOM)与其他内容实际上没有“前进”,并在您“返回”页面后恢复保存的DOM,
但对于Stackoverflow问题来说,这个问题太大了。
我不是100%跟随你的问题,但从我的笔记中我可以提供给你:
// To some url window.location.href = 'some/new/url'; // To some url without it effecting browser back history: window.location.replace('some/new/url');