使用Chrome控制台移至新的URL时,是否可以保持变量有效?

时间:2019-02-08 14:42:35

标签: javascript google-chrome

无论是Chrome控制台还是JavaScript我都是新手。

我对文献的搜索不足以回答这个问题。

但是我发现很难找到任何先前的问题,这些问题告诉我“在Chrome控制台中移至新URL时如何防止变量刷新(?)”。

例如,假设我现在在Google起始页(“ https://www.google.com/”)

然后我打开Chrome控制台,使整数变量和函数像这样...

a = 10

function myFunc(){
    console.log("Hello")
}

之后,我将使用此代码转到Yahoo主页

this.document.location = "https://www.yahoo.com/"

然后,如您所料,我之前定义的变量和函数是 GONE

当我尝试在Yahoo中调用我以前的变量 a 时,

Uncaught ReferenceError: a is not defined
    at <anonymous>:1:1

直到现在我还停留在这个问题上。

我想知道如何在每次移动到新URL时告诉浏览器将变量和函数保持有效吗?

3 个答案:

答案 0 :(得分:2)

您在控制台中所做的所有事情,都是在当前页面的上下文(其window全局对象和本地范围)中进行的。如果您更改页面,此上下文将消失。

但是,如果在开发人员工具的“源”选项卡(和“片段”子选项卡)中使用便笺本脚本,则可以快速重新初始化状态。只需创建一个新脚本,然后按Ctrl + S。然后,您可以在每次更改页面并重新创建状态时在此脚本的上下文菜单中选择“运行”:

enter image description here

答案 1 :(得分:0)

不,您不能,但是,如果您想“保存”某些值,则可以将它们发送到服务器(作为json的ajax请求)或将其作为链接参数,例如https://your.server.com/save?a=valueOfA(当然,服务器必须支持此参数并返回将为适当的变量设置适当值的响应)

答案 2 :(得分:-1)

您可以使用localStorge()将数据保存在客户端浏览器上,但对于仅想提及的功能将不起作用