在项目开发中,常常会遇到不同环境数据不同,导致在本地调试时,无法复现问题,本文介绍一种可以把本地数据的状态从一个环境迁移到另一个环境的方法。
操作:
step1.在存储着需要的数据的网站中,通过F12打开控制台,并在控制台中输入如下命令:
copy(`
const local = ${JSON.stringify(localStorage)};
for (const key in local) {
localStorage.setItem(key, local[key])
}
`);
step2.在需要注入数据的网站的控制台中,直接ctrl+v,将剪切板中的内容粘贴下来,回车就可以发现,这个网站的localStorage中有需要的数据了,如下图:
解释:
copy函数
copy
是在某些浏览器控制台(例如 Chrome 的开发者工具)中提供的函数,用于将字符串复制到剪贴板。- 在这段代码中,
copy
函数将包含脚本代码的字符串传递给它,目的是将这些代码复制到剪贴板。
此时剪切板中的内容是
盲猜copy函数对json类型数据做了处理,返回值给剪切板时,已将json对象转变成正常对象了。
复制到另一个网站的控制台,就是在执行往localStorage中存储数据了。
延伸
由此看,对于session、cookie中的数据应该也是能同样操作的。