如何在Chrome扩展程序的子文件夹中获取文件名列表?

时间:2014-07-13 08:35:52

标签: google-chrome-extension

我想知道是否有可能获得Chrome扩展程序子文件夹中所有文件的文件名列表。

谢谢!

1 个答案:

答案 0 :(得分:2)

使用chrome.runtime.getPackageDirectoryEntry方法获取Chrome扩展程序的DirectoryEntry,然后使用FileSystem API查询其内容

chrome.runtime.getPackageDirectoryEntry(function(directoryEntry) {
    var directoryReader = directoryEntry.createReader();
    // List of DirectoryEntry and/or FileEntry objects.
    var filenames = [];
    (function readNext() {
        directoryReader.readEntries(function(entries) {
            if (entries.length) {
                for (var i = 0; i < entries.length; ++i) {
                    filenames.push(entries[i].name);
                }
                readNext();
            } else {
                // No more entries, so all files in the directory are known.
                // Do something, e.g. print all file names:
                console.log(filenames);
            }
        });
    })();
});

这是一个基本示例,列出了Chrome扩展程序包中root用户的所有文件目录的名称。如果要查询特定目录的内容,则需要先获取该条目。例如。列出_locales目录的内容。第二个参数应该是Object实例:

directoryEntry.getDirectory('_locales', {}, function(subDirectoryEntry) {
    var directoryReader = subDirectoryEntry.createReader();
    // etc.. same code as in previous snippet.
});