0

Phonegap が初めてで、FileWriter機能を理解するのに苦労しています。この例をiOS6で動作させようとしていますが、errorメッセージに行き詰まっています

    <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
    <script type="text/javascript" charset="utf-8">

        var fileWriter;
        function onNotesLoad() {
            window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFSComplete, fail);
        }
        function onFSComplete(fileSystem) {
            // Load the notes.txt file, create it if it doesn't exist
            fileSystem.root.getFile("notes.txt", {create: true}, onFileEntryComplete, fail);
        }
        function onFileEntryComplete(fileEntry) {
            // set up the fileWriter
            fileEntry.createWriter(onFileWriterComplete, fail);
        }
        function onFileWriterComplete(fileWriter) {
            // store the fileWriter in a
            // global variable so we have it
            // when the user presses save
            fileWriter = fileWriter;
        }
        function saveNotes() {
            // make sure the fileWriter is set
            if (fileWriter != null) {
                // create an oncomplete write function
                // that will redirect the user
                fileWriter.onwrite = function(evt) {
                    alert("Saved successfully");
                    $.mobile.changePage("index.html");
                };
                var form = document.getElementsByTagName('form')[0].elements;
                var notes = form.notes.value;
                // save the notes
                fileWriter.write(notes);
            } else {
                alert("There was an error trying to save the file");
            }
            return false;
        }
        function fail(error) {
            alert(error.code);
        }
        </script>

HTML:

<body>
    <div data-role="page" id="notes-page">
        <div data-role="header" data-position="inline">
            <a href="index.html" data-icon="delete">Cancel</a>
            <h1>Your Thoughts?</h1>
            <a onClick="return saveNotes()" href="#"
                data-icon="check" data-theme="b">Save</a>
        </div>
        <form action="index.html" method="post">
            <textarea name="notes" rows="30" cols="10"></textarea>
        </form>
    </div>
</body>

4

1 に答える 1

1

onwrite ハンドラーは、progress イベントとして呼び出されます。onwriteend ハンドラにフックしたいと思うでしょう。

于 2013-01-15T00:29:08.677 に答える