请查看http://jsfiddle.net/fLd5T/.
这个在jsfiddle.net上运行良好的简单javaScript代码在我的笔记本电脑上不起作用。
这是我笔记本电脑上的代码:
<HTML>
<HEAD>
<script type="text/javascript">
// setup
var goal = "fix the bug";
var date2 = new Date();
var diff = 0;
var active = true;http://jsfiddle.net/#save
var data = '{"goals": [{"goal":"' + goal + '","duedate":"'
+ date2 + '","noofdays":"' + diff + '","active":"'
+ active + '"}]}';
localStorage.setItem("goals",data);
// test
var goalsStr = localStorage.getItem("goals");
var goalsObj = JSON.parse(goalsStr);
for (i=0; i<goalsObj.goals.length; i++) {
//if(goal==goalsObj.goals[i].goal) {
document.body.appendChild(document.createTextNode(
"The goal is " + JSON.stringify(goalsObj.goals[i])));
}
}
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
在我的浏览器中启用了javaScript。
为什么会这样?怎么了?我该怎么办?
当我检查您的代码时,我看到两件事:
首先在第18行,if
语句被注释掉,但结尾的}
没有注释掉,这导致了语法错误。
另一件事是您试图在创建document.body
之前访问它。您应该将javascript代码(整个<script>...</script>
)移动到<body></body>
而不是<head></head>
中。
您还可以在javascript代码周围添加window.onload = function () { ... }
它在jsfiddle上工作,因为这就是它在那里实际做的。