Страницы: 1
var file = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile); file.initWithPath('C:\\'); var children = file.directoryEntries; var child; var list = []; while (children.hasMoreElements()) { child = children.getNext().QueryInterface(Components.interfaces.nsILocalFile); list.push(child.leafName + (child.isDirectory() ? ' [DIR]' : '')); } alert(list.join('\n'));
Пишет ошибку NS_ERROR_FILE_IS_LOCKED: Component returned failure code: 0x8052000e (NS_ERROR_FILE_IS_LOCKED) [nsILocalFile.isDirectory] на остальных диска нормально читает. Можно ли как-то прочитать на диске C:\\ файлы?
Отсутствует
Можно ли как-то прочитать на диске C:\\ файлы?
try { list.push(child.leafName + (child.isDirectory() ? ' [DIR]' : '')); } catch(e) { list.push(child.leafName + ' ' + e); }
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Спасибо, работает. Еще такой вопрос. Пытаюсь открыть такой каталог
chrome://hello/content/lib
function test(){ var file = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile); file.initWithPath('chrome://hello/content/lib'); var children = file.directoryEntries; var child; var list = []; while (children.hasMoreElements()) { child = children.getNext().QueryInterface(Components.interfaces.nsILocalFile); try { list.push(child.leafName + (child.isDirectory() ? ' [DIR]' : '')); } catch(e) { list.push(child.leafName + ' ' + e); } } alert(list.join('\n')); }
NS_ERROR_FILE_UNRECOGNIZED_PATH: Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath]
Как сделать правильно?
Отсутствует
Пытаюсь открыть такой каталог
chrome://hello/content/lib
А зачем это делать?
Там у большинства пользователей без https://developer.mozilla.org/en-US/doc … sts#unpack будет сначала архив, а уж потом каталоги.
И вообще,
https://developer.mozilla.org/en-US/doc … Path%28%29
filePath
A string that specifies a platform-specific, full path to a file or directory.
Добавлено 07-12-2012 21:52:22
Но можно и так:
Components.utils.import("resource://gre/modules/AddonManager.jsm"); AddonManager.getAddonByID("inspector@mozilla.org", function(addon) { var path = addon.getResourceURI().spec .replace(/^file:\/+/, "") .replace(/\//g, "\\"); // Тут надо проверить платформу, замена нужна только для Windows var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path + "chrome"); ... });
(для DOM Inspector'а)
Отредактировано Infocatcher (07-12-2012 21:52:22)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Я для себя пишу, я не настолько про что-бы для других писать))) и я не упаковывал в XPI. Я просто хочу сделать папку в которой js файлы будут автоматически подключатся при загрузке Firefox, может подскажете как это лучше всего сделать?
За ответы спасибо, не думал что здесь так быстро отвечают.
Отсутствует
Страницы: 1