Перечислите локальный каталог с расширением Chrome - PullRequest
6 голосов
/ 11 января 2012

Я пытаюсь создать расширение chrome, которое сканирует локальный каталог на наличие новых файлов ... Однако, если я добавлю разрешение file: // * в манифест, я смогу получить доступ к внутреннему файловому браузеру chrome с помощью

xmlhttp.open("GET","file://C:/Users/username/Desktop/",false); xmlhttp.send(); console.log(xmlhttp.response);

Из ответа я могу извлечь URL файлов и использовать их в своем расширении.

Мой вопрос сейчас: есть ли другие подходы?Вышеуказанный способ больше похож на обходной путь и легко ломается, если браузер файлов Chrome изменен ...

1 Ответ

3 голосов
/ 29 января 2012

Каждый раз, когда мне приходилось что-то делать на локальной машине с расширением Chrome, я всегда создавал небольшую программу, которая принимает соединения через HTTP и выполняет работу как обычная программа, принимая команды с JSON поверх POST,Это дает вам большую гибкость, поскольку, по сути, позволяет вам написать расширение для Chrome, которое может делать все, что может делать настольная программа.

Однако у этого есть большие недостатки, и вы должны делать это только в случае крайней необходимости,Например:

  • Это невозможно сделать для всех операционных систем, если вы не собираетесь писать агент для каждой ОС.
  • Расширение не может быть установлено из расширения Googleхостинг.
  • Вы должны написать свою собственную программу установки, которая регистрирует расширение .
  • С этим можно столкнуться с очень реальными соображениями безопасности.Вы будете открывать веб-сервис, который выполняет команды.Будьте очень уверены, что вы не разоблачаете пользователя.В действительности, если вы создаете файловый браузер, вы, вероятно, разоблачаете пользователя.Вам будет необходимо исправить эту дыру в безопасности, как если бы вы создавали какой-либо другой веб-сервис.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...