【问题标题】:Receive EntryChangedEvent on folder在文件夹上接收 EntryChangedEvent
【发布时间】:2014-10-16 17:15:38
【问题描述】:

目前我正在使用chrome.fileSystem-Api,我对版本 38 中添加的新 EntryChangedEvent 感到好奇。但我之所以写,是因为我真的不知道如何在我的应用程序中接收此事件.我试过这样,显然没有用:

chrome.fileSystem.chooseEntry({type: 'openDirectory'}, function(folder) {
  if (!folder) {
     output.textContent = 'No Folder selected.';
     return;
  }
  folder.on("entrychangedevent",function(v){
         console.log(v);
  });
});

我必须如何更改我的代码才能真正使用接收 EntryChangedEvents? 谢谢!

文档链接: https://developer.chrome.com/apps/fileSystem#type-EntryChangedEvent

【问题讨论】:

    标签: javascript jquery google-chrome-app


    【解决方案1】:

    我实际上认为这个功能还没有实现。我不知道为什么它在文档中,但是如果您查看 chromium 源代码,则有一个名为 chrome.fileSystem.observeDirectory 的函数(它有一个应该获取这些事件的回调)但是在查看实现时它只是说:

    bool FileSystemObserveDirectoryFunction::RunSync() {
      NOTIMPLEMENTED();
      error_ = kUnknownIdError;
      return false;
    }
    

    我找到了一份申请 API 的文档:

    https://docs.google.com/document/d/1aW-37JOBZgoD2CIPvoBEgw6bog8gFSowpfqtDEKt5Vo/edit#heading=h.w8inspeo32bj

    无论如何,很棒的功能,可能很快就会推出。

    【讨论】:

    • 所以它可能会根据文档登陆 v39
    【解决方案2】:

    这里有三个问题:

    1. 从文档中不清楚该侦听器应附加到哪个对象。在您的示例中,您已将其附加到表示目录的 DirectoryEntry 中。虽然我不知道答案,但这听起来可能是错误的,因为 DirectoryEntry 只是访问目录的一种方式,它本身并不是目录。

    2. 文档说这个事件只针对某些文件系统触发,我想我们都不知道它是否对我们正在测试的任何文件系统有效。

    3. 在您的示例中,即使代码正确且事件已启用,您也不会对目录进行任何更改,因此不会触发事件。

    【讨论】:

      猜你喜欢
      • 2016-09-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 2013-04-05
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多