我是一个javascript初学者,我试图弄清楚为什么这个代码在写入头部时有效,但不是在从外部文件引用时。
在我的html文档的头部,我引用了javascript文件" quote.js"如下。
<script type="text/javascript" language="JavaScript" src="/js/quote.js"> </script>
quote.js的内容如下
var textarray = [
"Be Good.",
"Our future depends powerfully on how well we understand the cosmos.",
"Bottomless wonders spring from simple rules... repeated without end.",
"All our science, measured against reality, is primitive and childlike — and yet, it is the most precious thing we have.",
"To use violence is to already be defeated."
];
function RndText() {
var rannum= Math.floor(Math.random()*textarray.length);
document.getElementById('ShowText').innerHTML=textarray[rannum];
}
window.onload = function() { RndText(); }
最后,我在体内替换的div如下......
<div id = "ShowText"></div>
这可能是一个愚蠢的错误,但我现在一直试图追踪它,我错过了一些东西。当我在我的html头中写出quote.js的内容时,它工作正常。有任何想法吗?提前谢谢。
答案 0 :(得分:0)
如果代码在头部工作,但在包含时没有,则可能是脚本路径出现问题。仔细检查/js/quote.js
是否是合适的位置。它可能需要js/quote.js
,你可能有一个错字。在FireFox和Chrome等浏览器中,如果您查看页面的源代码,可以单击此类文件的路径,然后加载包含的文件,或者如果找不到该文件则显示错误。
如果您可以分享指向该页面的链接,我可以更准确地告诉您问题所在。
此外,如果您使用的是XHTML,则不必使用语言属性,但这不会导致问题。
答案 1 :(得分:0)
在DOM准备好之前,代码可能正在运行
而不是onload
使用事件DOMContentLoaded
document.addEventListener('DOMContentLoaded', function () {
//code here
}, false);