当我将第一个脚本块中的代码(没有脚本标记本身)移动到外部javascript文件时,为什么这不起作用。
我们的想法是从主页调用homead.load()并加载homead_build()处理的所有内容;
错误说使用Firefox错误控制台'homead未定义'
<div id="box">
</div>
<script type="text/javascript">
var homead = {
box_id: "box",
width: "150px",
load: function(){
homead.homead_build();
},
homead_build: function(){
var div = document.createElement('div');
div.style.width = homead.width;
div.style.height = '55px';
div.style.border = 'solid 2px #000';
var box = document.getElementById(homead.box_id);
box.appendChild(div);
}
};
</script>
<script language="JavaScript" type="text/javascript">
homead.load();
</script>
答案 0 :(得分:2)
在致电homead.load()
后,您是否要包含外部脚本文件?确保在使用之前加载它:
<script language="JavaScript" type="text/javascript" src="external.js"></script>
<script language="JavaScript" type="text/javascript">
homead.load();
</script>
答案 1 :(得分:1)
确保在使用homead之前包含它,并且文件已正确加载。 (例如:在文件中说警告(“im loaded ...”))
您的代码可以简化为btw:
var homead = {
box_id: "box",
width: "150px",
load: function(){
var div = document.createElement('div');
div.style.width = homead.width;
div.style.height = '55px';
div.style.border = 'solid 2px #000';
var box = document.getElementById(homead.box_id);
box.appendChild(div);
}
};
答案 2 :(得分:0)
是的,它的工作正常。您可能会将错误的src文件路径提供给脚本标记。
我做了以下事情;
<script language="JavaScript" type="text/javascript" src="../../Scripts/test.js" ></script>
添加了代码
<div id="box">
</div>
<script language="JavaScript" type="text/javascript">
homead.load();
</script>