重新加载页面而不重新加载控制台数据

7

我想在Google Chrome控制台中运行一些JavaScript代码。其中有一部分需要执行:

location.reload();

当页面刷新时,整个控制台数据(我在控制台中定义的函数)都会被销毁。因此,我的问题如下: 有没有办法在不重新加载控制台窗口的情况下刷新网页?


1
错误的方法。您希望持久化控制台的状态。当页面重新加载时,控制台也会重新初始化。但是,Firefox和Chrome控制台中有persist选项,可以实现您需要的功能。然而,仅保留在控制台中的当前输出,任何在控制台中定义的函数都不会被保留。 - marekful
1
那么有没有办法在控制台中永久定义函数,以便即使刷新后也可以使用它? - vishtree
我不这么认为,但你可以在从服务器加载的页面中定义这些函数,这样它们就会在每次重新加载后存在。 - marekful
另一种方法是使用AJAX。不要进行完整的页面加载,只需在“容器”div中使用AJAX加载您的页面(甚至可以是您的整个页面)。 - marekful
可能是重复的问题:如何在页面刷新后保留JS变量的值? - KyleMit
3个回答

11

不行。控制台是 window 对象的一个属性,而你正在重新加载它。

你可以在浏览器级别上覆盖它,通过在重新加载时保留控制台日志数据,但它不会成为新窗口范围的一部分:Chrome:开发者工具 > 控制台 > 导航时保留日志


2
在Chrome开发者工具中,右键单击控制台->保留导航日志将使Chrome控制台持久化,即使您刷新页面也不会消失。

1
这不是用户要求的。 - Rajat banerjee
1
@Rajatbanerjee 这就是它的本质。 - Vimalnath

0

在Chrome控制台中,点击设置图标并打开弹出窗口, 勾选“保留日志”选项。 然后显示所有控制台页面。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接