这个在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。
为什么会这样?怎么了?我该怎么办?
答案 0 :(得分:0)
当我检查你的代码时,我看到两件事:
首先在第18行注释if
语句,但结束}
不会导致语法错误。
另一件事是您在创建之前尝试访问document.body
。您应该将{j}代码(整个<script>...</script>
)移到<body></body>
而不是<head></head>
。
您还可以在JavaScript代码周围添加window.onload = function () { ... }
它正在研究jsfiddle,因为那是它实际上在那里完成的。