无法获取PhoneGaps FileWriter工作 [英] Can't get Phonegaps FileWriter to work

查看:128
本文介绍了无法获取PhoneGaps FileWriter工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

刚刚接触Phonegap,很难理解 FileWriter 功能。我试图让这个例子在iOS6上工作,但我坚持的错误消息

 < script type =text / javascriptcharset =utf-8src =cordova-2.3.0.js>< / script& 
< script type =text / javascriptcharset =utf-8>

var fileWriter;
function onNotesLoad(){
window.requestFileSystem(LocalFileSystem.PERSISTENT,0,onFSComplete,fail);
}
function onFSComplete(fileSystem){
//加载notes.txt文件,如果它不存在则创建
fileSystem.root.getFile(notes.txt ,{create:true},onFileEntryComplete,fail);
}
function onFileEntryComplete(fileEntry){
//设置fileWriter
fileEntry.createWriter(onFileWriterComplete,fail);
}
function onFileWriterComplete(fileWriter){
//将文件存储在
//全局变量中,因此我们有
//当用户按下save
fileWriter = fileWriter;
}
function saveNotes(){
//确保fileWriter已设置
if(fileWriter!= null){
//创建一个不完整的写函数
//将重定向用户
fileWriter.onwrite = function(evt){
alert(Saved successfully);
$ .mobile.changePage(index.html);
};
var form = document.getElementsByTagName('form')[0] .elements;
var notes = form.notes.value;
//保存注释
fileWriter.write(notes);
} else {
alert(尝试保存文件时出错);
}
return false;
}
function fail(error){
alert(error.code);
}
< / script>

HTML:

 < body> 
< div data-role =pageid =notes-page>
< div data-role =headerdata-position =inline>
< a href =index.htmldata-icon =delete>取消< / a>
< h1>您的想法?< / h1>
< a onClick =return saveNotes()href =#
data-icon =checkdata-theme =b> Save< / a>
< / div>
< form action =index.htmlmethod =post>
< textarea name =notesrows =30cols =10>< / textarea>
< / form>
< / div>
< / body>

解决方案>

onwrite处理程序被称为进度事件。我相信你会想钩到onwriteend处理程序。


New to Phonegap and having a hard time understanding the FileWriter function. I am trying to get this example to work on iOS6 but I'm stuck with the error message

    <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>

解决方案

The onwrite handler is called as a progress event. I believe you will want to hook to the onwriteend handler.

这篇关于无法获取PhoneGaps FileWriter工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆