在2个javascript文件之间共享var

时间:2018-08-28 00:11:06

标签: javascript client

我一直在尝试找到一种方法来在不同html文件使用的js文件之间共享变量(这些js文件不在同一个html文件中),但是我似乎找不到方法...

我想在a.html文件内的a.js中创建一个用户名变量,然后将其添加到服务器上的数据库后,移至b.html并在b.js中访问用户名。 (其他所有代码都可以使用)。

我曾经尝试过session / localStorage,但是Atom(我的文本编辑器)说'localStorage not defined',我也尝试过使用emac6进行导出/导入/请求,但是Atom说的是同一件事:'keyword export / s not defined'。有什么想法吗?

// a.html: -script src =“ src / a.js”--/ script-

// a.js: var username =“ john”;

// b.html: -script src =“ src / b.js”--/ script-

// b.js: console.log(用户名);

2 个答案:

答案 0 :(得分:0)

如果您要从一个页面(a.html)导航到另一页面(b.html),并且想要在两个脚本之间共享/访问数据(即username ='john')每个页面,那么您可能需要考虑保留该数据以实现此目的。

执行此操作的方法很多,但是一种简单的方法是使用localStorage API,如下所示:

a.html,src / a.js

var username = "john";
localStorage.setItem('username', username) // Persists to browser storage

b.html,src / b.js

var username = localStorage.getItem('username') // Retrieves from browser storage
console.log(username);

请注意,这取决于顺序-a.js必须在b.js之前运行才能存储值,然后登录到控制台。

有关localStorage API, see the MDN docs

的更多信息

答案 1 :(得分:0)

您还可以使用Cookie在任意数量的JavaScript中传递变量。 设置数据创建者的Cookie:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

然后从别人那里读:

var x = document.cookie;