我有两个 html 文件:index.html 和obby.html。在我加载到index.html 中的main.js 中,lobby.html 是使用window.location.href 加载的。我尝试了在 main.js 中定义全局变量的各种方法(命名空间,例如: var Global = {}; Global.variableName = 0; ... Global.variableName =whatever;
,只需定义变量即可函数作用域的数量:var myGlobal;
,甚至使用window.
来定义和使用全局变量:window.myGlobal = 0; ... window.myGlobal =whatever;
)。无论这些方法中的任何一种,每次我尝试在obby.html 中的单独脚本中访问这些“全局变量”时,它总是会抛出未定义的错误。这有什么意义呢?
最佳答案
您的第一个问题“为什么我不能...?”的答案是,每当您加载页面时都会启动一个新 session 。因此,上一个 session 中的任何 Javascript 变量都消失了。
另一个(隐含的)问题,如何在 session 中保留 Javascript 变量的值? 要么是 use cookies in Javascript (MDN) 或将请求变量附加到 URL 末尾,然后在新页面加载时处理它们:GET (所以)
关于javascript - 为什么我不能在单独的 html 和 js 文件中使用全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373244/