Вот что я мог бы сделать с Addon SDK
(или первоначально jetpack
, если я не ошибаюсь), и да, это своего рода хак, потому что я не знаю, как сделать это в очистителя путь, и я не хочу использовать Require Chrome
.
минимальная версия:
// index.js or main.js
// declare the io/file API :
var ioFile = require('sdk/io/file');
// array to make attempts :
let drivesIds = ["c", "d", "e", "f", "g", .... "z" ]; // hack isn't it ? :/
for (let i = 0; i < drivesIds.length; i++) {
let driveName = drivesIds[i] + ":\\";
if (ioFile.exists(driveName)) {
console.log(driveName + " is a drive and is ready !");
}
}
А ты молодец! Хорошо, что это было довольно очевидно, но я не смог найти этот код в любом месте я искал, или код, который делает это лучше (опять же, без require('chrome')
)
Расширенные версии могут:
- положить все это в функция
getDrives()
, которая возвращает массив объектов накопителей, таких как { path: "c:\\", hasChildren: true, etc: "etc" }
. (Проверка дочерних каталогов путем объединения ioFile.isFile()
с ioFile.list()
в for
цикле, который расщепляет момент подкаталог сталкиваются.
- порт, код в другой модуль аддон, с реализациями экспорта
- даже инкапсулирует Io функции и свойства в качестве членов глобальный объект в модуле (вы можете отслеживать изменения файловой системы, как отключенные директории, магазин дерево файловой системы в памяти и т.д.)
Все, что делает ваш файл index.js
легче. может ли это быть адаптировано к другой ОС? Я не знать.Заголовок вводит в заблуждение, в то время как это единственный вопрос о размещении дисков Addon SDK с тегами.
Никогда не пытайтесь построить целую дерево дисков, что остановит компьютер и потерпит неудачу в той или иной точке, потому что io/файл ограничен 250-260 символами длины пути в Windows.
Вопросы безопасности! Вероятно, поэтому это недокументировано, почему WebExtensions запрещает операции io? Но, я использую это, чтобы вставить хороший проводник Windows (выберите каталог, чтобы сохранить все, что вы хотите там, сокращая или сохраните как или диалоговые окна загрузки). Это единственная причина, по которой я использую Firefox. Я вернусь к dotNet и снова изобретаю колесо с большим количеством дыр в безопасности, если io недостаточно гибко (или отсутствует) в WE, или попробуйте Chrome вместо этого (если не устаревать API в ближайшие 10 лет). Факт в том, что в момент, когда вы можете автоматизировать синтаксический анализ, будут проблемы с безопасностью, но в тот момент, когда вы запретите это, расширения Addon - это не путь к файловой системе.