Javascript / Phonegap-必须在执行前调用函数三次,然后执行三次

时间:2014-08-10 13:12:26

标签: javascript function cordova

我正尝试使用以下代码测试Phonegap(this one)中的File API:

<html>
  <head>
    <title>PhoneGap File test</title>

    <script src="phonegap.js"></script>

    <script type="text/javascript" charset="utf-8">


    function onDeviceReady() {
      alert("devceReady");
      window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
         successCallback, error);
    }

    function successCallback(fileSystem) {
      alert("successCallback");
      console.log(fileSystem.root);
      fileSystem.root.getDirectory("turdBurgle",
        {create: true, exclusive: false}, onGetDirectorySuccess,
        onGetDirectoryFail);
    }

    function error() {
      alert('error function fired');
    }

    function onGetDirectorySuccess(dir) {
      console.log("Created dir "+dir.name);
    }

    function onGetDirectoryFail(error) {
     console.log("Error creating directory "+error.code);
     }
    document.addEventListener("deviceready", onDeviceReady, false);


    </script>

    </head>
  <body>

    <script src="http://192.168.1.200:8080/target/target-script-min.js#anonymous"></script>
  </body>

起初我以为什么都没发生 - 控制台里没有任何东西表明onDeviceReady被解雇了。但是,在我向主体添加了一个按钮并发出onClick指令以解除onDeviceReady之后,我看到点按了三次按钮onDeviceReady DID就会发生火灾......但是它发了三次。除此之外,一切都按照您的预期执行...目录在适当的位置创建,没有错误。

我尝试添加onLoad侦听器,以确保在设备尝试执行successCallback之前加载DOM,但症状仍然相同。

0 个答案:

没有答案