ysf
ysf
  • 发布:2015-06-04 13:41
  • 更新:2015-06-08 12:05
  • 阅读:1908

读取本地文件失败 执行出错

分类:Native.js

读取本地文件失败 执行出错( Uncaught #<f>)

2015-06-04 13:41 负责人:无 分享
已邀请:
半杯可乐

半杯可乐 - 努力奋斗中。

初步判断代码错误。

  • 大爱HB

    已贴代码,求帮助

    2015-06-05 22:57

bxh201

bxh201

贴代码。

  • 大爱HB

    已贴代码,求帮助

    2015-06-05 22:57

DCloud_UNI_CHB

DCloud_UNI_CHB

建议贴上测试代码,简单一句话确实无法判断;

另外,请勿重复发帖;

  • 大爱HB

    已贴代码,求帮助

    2015-06-05 22:57

大爱HB

大爱HB

遇到同样的问题,document.addEventListener( "plusready", onPlusReady, false );方式来调用的话,始终不会调用到里面的代码,我再函数里面测试过,总是调用不到,但是改成下面不添加plusready事件的可以调用到resolveLocalFileSystemURL里面的函数,但是会提示执行出错,部分代码:

这种写法没反应

document.addEventListener( "plusready", onPlusReady, false );  

function onPlusReady(){  
    var fn = plus.io.PRIVATE_DOC + '/user.conf';  
    alert(fn);  
    plus.io.resolveLocalFileSystemURL( fn, function( entry ) {  
        entry.createWriter( function ( writer ) {  
            writer.onwrite = function ( e ) {  
                plus.console.log( "Write data success!" );  
            };  
            // Write data to the end of file.  
            writer.seek( writer.length );  
            writer.write( "New data!" );  
        }, function ( e ) {  
            alert( e.message );  
        } );  
    }, function ( e ) {  
        alert( "Resolve file URL failed: " + e.message );  
    } );  
}

这种写法的话会提示执行出错

var fn = plus.io.PRIVATE_DOC + '/user.conf';  
alert(fn);  
plus.io.resolveLocalFileSystemURL( fn, function( entry ) {  
    entry.createWriter( function ( writer ) {  
        writer.onwrite = function ( e ) {  
            plus.console.log( "Write data success!" );  
        };  
        // Write data to the end of file.  
        writer.seek( writer.length );  
        writer.write( "New data!" );  
    }, function ( e ) {  
        alert( e.message );  
    } );  
}, function ( e ) {  
    alert( "Resolve file URL failed: " + e.message );  
} );
DCloud_UNI_CHB

DCloud_UNI_CHB

@大爱HB

你可以参考5 plus的官网,对于plusReady的监听应该都是这么写的:

if(window.plus){  
    onPlusReady();  
}else{  
    document.addEventListener( "plusready", onPlusReady, false );  
}

mui为了简化这种写法,特意封装出了mui.plusReady方法,直接按照如下方式编写即可:

mui.plusReady(onPlusReady);

若还有错误,就把具体错误信息贴上来;

  • 大爱HB

    加上那个还是失败。重新看了下文档,是不是文件不存在就会这样?

    2015-06-07 22:50

  • 半杯可乐

    回复 大爱HB:文件路径不正确,fn = '_www/user.conf'

    2015-06-08 08:34

  • 大爱HB

    回复 半杯可乐:谢谢,是这个问题

    2015-06-08 20:16

五块钱的果汁

五块钱的果汁 - 勤奋是一种被逼无奈 - 热爱是一种情不自禁~

plus.io.PRIVATE_DOC 是常量不代表路径,
resolveLocalFileSystemURL 方法 url 值可支持相对路径URL、本地路径URL、网络路径URL(http://localhost:13131/开头)。
plus.io.PRIVATE_DOC 替换成相对路径即可_www/doc(推荐);
或者是绝对路径/sdcard/Android/data/%PACKAGENAME%/.%APPID%/apps/%APPID%/doc”,其中%PACKAGENAME%是程序的包名、%APPID%是应用的标识

该问题目前已经被锁定, 无法添加新回复