我一直在尝试寻找一种方法来在不同html文件使用的js文件之间共享变量( js文件不在同一html文件中),但我似乎找不到方法……
我想在a.html文件中的a.js中创建一个username变量,然后将其添加到服务器上的数据库中,然后转到b.html并访问b.js中的username。(我已经让所有其他代码都正常工作了)。
我尝试过会话/本地存储,但Atom (我的文本编辑器)显示'localStorage未定义‘,我也尝试使用emac6导出/导入/请求,但Atom显示相同的内容:’关键字导出/s未定义‘。有什么想法吗?
//a.html:-script脚本“src/a.js”--/src=-
//a.js : var username = "john";
//b.html:-script src="src/b.js"- -/脚本-
//b.js :console.log(用户名);
发布于 2018-08-28 08:17:04
如果您从一个页面(a.html)导航到另一个页面(b.html),并且希望在每个页面上使用的两个脚本之间共享/访问数据(例如username = 'john'),那么您可能需要考虑持久化这些数据来实现这一点。
有很多方法可以做到这一点,但是一种简单的方法是使用localStorage
应用编程接口,如下所示:
a.html,src/a.js
var username = "john";
localStorage.setItem('username', username) // Persists to browser storage
b.html,源/b.js
var username = localStorage.getItem('username') // Retrieves from browser storage
console.log(username);
请注意,这取决于顺序-要存储值,必须在b.js
之前运行a.js
,然后将其记录到控制台。
发布于 2018-08-28 10:56:16
您还可以使用cookie在任意数量的JavaScript中传递变量。从数据创建者设置cookie:
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";
然后从其他人那里阅读它:
var x = document.cookie;
https://stackoverflow.com/questions/52048429
复制相似问题