我正在使用nodejs
和socket.io
制作应用程序(游戏)。
我有几个javascript文件,三个要考虑这里:userDetails.js
, board.js
和modal.html
。
现在让userDetails.js
文件声明一个变量:var myUserName
。由于它是全局的,我希望它也可以从其他文件访问。
我的board.html
文件加载board.js
文件。board.js
文件的子代码是:
window.onload = init;
function init() {
setUserName();
. . .
}
function setUserName(){
var myUrl = window.location.href;
myUserName = myUrl.slice(muUrl.indexOf("?")+1,myUrl.indexOf("!"));
//here myUserName gets some value like "John"
}
我的modal.html
的子代码是:
<script type="text/javascript" src="Scripts/userDetails.js"></script>
<script>
. . .
document.getElementById("username").innerHTML = MyUserName;
//myUserName loses its value here. Its undefined.
showNow();
</script>
showNow()
函数显示模态。
问题:当显示模式时,用户名id的值显示为"undefined"。myUserName
有一些值,那么为什么它在modal.html
文件中被视为"未定义"
这是未定义的,因为您在声明它为var myUserName
时使用大写字母MyUsername
来调用它
我想你可能忘记在userDetails add的末尾导出myUserName
module.exports = myUserName;
,并在需要的地方添加
var myUserName = require("yourPath/userDetails.js");