【问题标题】:How to access a specific folder to get file names within my extension如何访问特定文件夹以获取我的扩展名中的文件名
【发布时间】:2017-03-24 20:52:31
【问题描述】:

所以我需要在我的“db”文件夹中获取文件的名称,稍后我需要在我的扩展程序中使用这些文件名。我搜索了如何执行此操作,我可以从我的根扩展文件夹中获取所有文件名,但不能从任何其他文件夹中获取。

这是我从这个问题中找到的扩展文件夹中返回所有文件名的代码:How do I get a list of filenames in a subfolder of a Chrome extension?

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);
        }
    });
})();
});

这是应该做我想做的代码,但我不知道如何在这里实现它

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

【问题讨论】:

  • edit 成为主题的问题:包括一个重复问题的minimal reproducible example。对于 Chrome 扩展程序或 Firefox WebExtensions,这几乎总是意味着包含您的 manifest.json 和一些背景、内容和/或弹出脚本/HTML。寻求调试帮助的问题(“为什么这段代码没有按我想要的方式工作?”)必须包括:(1)期望的行为,(2)特定的问题或错误以及(3)重现它所需的最短代码在问题本身中。另请参阅:What topics can I ask about here?How to Ask
  • 需要minimal reproducible example 的原因是我们想提供帮助。如果我们不必重新创建复制问题所需的任何代码,那么提供帮助会要容易得多。这是您已经拥有的代码。因此,请帮助我们为您提供帮助并提供一个完整 minimal reproducible example 来重复该问题。如果没有minimal reproducible example,甚至开始帮助您所需的努力量要高得多,这显着减少了愿意/能够帮助您的人数。即使我们付出了额外的努力,我们也必须猜测您的问题的很大一部分。
  • 查看第二个代码 sn-p:提示它以与第一个相同的行开头,表示您需要将第一个代码插入到第二个。找到一个例子:Add SVG in Angular2 all at once

标签: javascript google-chrome google-chrome-extension directory


【解决方案1】:

我需要的代码是这个。

chrome.runtime.getPackageDirectoryEntry(function(directoryEntry) {
    directoryEntry.getDirectory('index', {}, function(subDirectoryEntry) {
        var directoryReader = subDirectoryEntry.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);
                }
            });
        })();
    });
});

【讨论】:

    猜你喜欢
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 2022-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多