3

我一直在尝试在我的网页中使用带有 textarea 的 localStorage(无济于事)。

我的保存脚本如下:

$(function() {
 var editor = document.querySelector("#editor");
 editor.addEventListener("keyup", function() {
  window.localStorage["TextEditorData"] = editor.value;
 });
});

我的加载脚本如下:

$window.load(function () {
 var editor = document.querySelector("#editor");
 if (window.localStorage["TextEditorData"]) {
  editor.value = window.localStorage["TextEditorData"];
 }
});

我的 HTML5 代码如下:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/data-load.js"></script>
<script type="text/javascript" src="js/data-save.js"></script>
</head>
<body onLoad="editor.focus()">
<textarea id="editor"></textarea>
</body>
</html>

但这似乎不起作用。我在这里遗漏了一些明显的东西吗?当我使用 contenteditable div 而不是 textarea 并使用 editor.innerHTML 而不是 editor.value 时,我确实设法让它工作,但我需要为这个特定网页使用 textarea。有什么建议么?

4

1 回答 1

3

您的if(), 上缺少一些括号:

 if window.localStorage["TextEditorData"] {

应该:

 if (window.localStorage["TextEditorData"]) {

目前它正在引发语法错误。 这是具有上述修复的代码版本,可以正常工作:)

于 2010-07-29T02:04:51.577 回答