鉴于此html代码,我们不允许编辑
<!doctype html>
<html manifest="survey.manifest">
<head>
<title>Offline Survey Application</title>
<link rel="stylesheet" href="styles/survey.css" type="text/css">
<script type="text/javascript" src="scripts/survey.js"></script>
</head>
<body>
<!--should be empty --->
</body>
</html>
<!-- YOU ARE NOT ALLOWED TO EDIT THIS FILE!!! -->
我似乎无法让我的javascript工作。但是,如果我将脚本元素放在主体上,则会显示整个脚本。问题是我们不允许这样做。有没有其他方法可以使它工作?
编辑:我知道脚本在加载其他元素之前运行。我不能把它移到别处,因为文件会被修改:/
答案 0 :(得分:5)
这可能是因为脚本仅在页面加载完成后才起作用,但是通过将代码放在head
中,您首先加载脚本。要解决这个问题,您可以尝试使用以下代码替换当前的脚本代码:
<script type="text/javascript" src="scripts/survey.js" defer></script>
这可确保代码仅在页面加载完成后加载。
答案 1 :(得分:2)
据推测,您的脚本正在尝试修改DOM并尝试访问body元素。
在最初加载并运行脚本时,正文不存在。
将代码移动到函数,并将该代码绑定为加载事件处理程序。 (addEventListener('load', someFunction);
)。