Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome chrome.fileSystem.isRestorable如何工作?_Google Chrome_Google Chrome App_File Storage - Fatal编程技术网

Google chrome chrome.fileSystem.isRestorable如何工作?

Google chrome chrome.fileSystem.isRestorable如何工作?,google-chrome,google-chrome-app,file-storage,Google Chrome,Google Chrome App,File Storage,chrome.fileSystem.isRestorable是chrome.fileSystem API的一个新部分,它可以判断一个文件是否可以用它的条目还原。我做了很多测试,但当我尝试做以下事情时,出现了一些问题: chrome.storage.local.get( ["recentFileId1"], function(recent) { chrome.fileSystem.isRestorable( recent["recentFileId1"], function

chrome.fileSystem.isRestorable是chrome.fileSystem API的一个新部分,它可以判断一个文件是否可以用它的条目还原。我做了很多测试,但当我尝试做以下事情时,出现了一些问题:

chrome.storage.local.get(
["recentFileId1"],
function(recent) {
  chrome.fileSystem.isRestorable(
    recent["recentFileId1"], 
    function (isRestorable){
      console.log(isRestorable);
    });
});
即使文件已从我的计算机中删除,它也会返回true
recentFileId1
看起来像一个真实的id(许多数字和末尾的路径,例如
FD158F2A41037D17440C025C1CA5FE08:question.txt
),如果文件仍在我的计算机上,则文件的恢复工作正常。当我试图用一个已删除文件的id还原该文件时,它只返回一个空,没有错误

所以我想知道:我是不是用错了这个功能?如果我尝试还原并查看还原的内容(如果它不返回任何内容,则文件已被删除),它可以工作,但如果API可用,我不想使用黑客攻击


谢谢。

此功能目前仅在Chrome的开发频道中可用,并应在31版中发布到stable

您所描述的内容听起来像是一个bug,请将其归档到。我们应该始终返回真或假。在这种情况下,正确的行为应该是什么还不清楚

此功能的目的是让应用程序知道它是否应该提供UI,以允许用户访问以前打开的文件。如果一个文件是可恢复的,这仅仅意味着应用程序仍然有访问该文件的权限

我们保留限制文件何时可恢复的权利。例如,我们可能对可以恢复的文件数量有一个任意上限,或者访问可能在几个月后超时,或者我们可能给用户不允许应用程序恢复任何文件的选项。isRestorable让您知道是否仍然可以访问以前打开的文件

isRestorable的目的不是提供有关文件的可访问性的信息。本地更改可能会对此产生影响-例如,文件可能已被删除或操作系统访问权限已更改。它可能仍然存在,但对chrome和应用程序不可见,因为没有对包含文件夹的读取权限

想想最近的文档菜单。这可能会显示已打开和已删除的文件。当应用程序还原已删除的应用程序时,它将不工作,并向用户显示错误。此时,用户可能会转到他们的回收站或git签出并替换该文件

或者“最近使用的文档”菜单无法显示已删除的文件


无论哪种方式,你的应用程序都不应该依赖isRestorable来指示文件条目是否可以恢复并成功使用,你应该处理restoreFile,不恢复文件并给出错误,以及处理对有权限问题的文件的访问。

Well doc说:
这种方法在Chrome 30中是新的。Chrome30仍然不稳定,所以它可能是我在这里写的一个bug:因为我认为这是一个bug。