正在jsfiddle.net上工作,但不在我的笔记本电脑上

Working on jsfiddle.net but not on my Laptop?

本文关键字:我的 笔记本 电脑 jsfiddle net 工作 正在      更新时间:2024-03-07

请查看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上工作,因为这就是它在那里实际做的。