我正在使用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显示&#34; undefined&#34;作为价值。 myUserName
有一些价值,那么为什么它被视为&#34; undefined&#34;在modal.html
档案中。
答案 0 :(得分:0)
未定义,因为您在删除它时使用大写字母MyUsername
调用它var myUserName
。
答案 1 :(得分:0)
我认为您可能忘记在userDetails add
结束时导出myUserName
module.exports = myUserName;
以及您想要使用的地方添加
var myUserName = require("yourPath/userDetails.js");