0

Я делаю расширение, которое, среди прочего, редактирует файл javascript во внешнем редакторе (один на компьютере пользователя). Расширение имеет файл javascript, сохраненный в chrome.storage, но, конечно, пользователю будет намного проще писать код в собственном редакторе.Как сделать пользовательский файл в файловой системе пользователя с расширением chrome

Именно поэтому я решил найти что-то, что создает файл в файловой системе пользователя, который пользователь может найти и отредактировать самостоятельно, и если будут сделаны какие-либо изменения, выполните синхронизацию с резервным копированием до расширения (либо путем периодической проверки или с помощью некоторого прослушивателя).

Я огляделся, но ничего похожего не поместил, что я пытаюсь сделать. API-интерфейс файловой системы Chrome работает только для хром-приложений, а не для хром-расширений, а API-интерфейс файловой системы HTML5 не позволяет запрашивать и открывать простой URL-адрес файловой системы, вместо этого он запутывает сохраненный файл и делает практически невозможным его легко редактировать.

Что-то еще, на что я смотрел, что может быть более перспективным, позволяет пользователю отредактировать один из файлов в каталоге, где хранится расширение, и каким-то образом получить это содержимое. Это, однако, будет немного сложно реализовать, если хром проведет хеш-проверку в расширениях chrome, не говоря уже об общем изменении содержимого этих файлов расширением (возможно, путем взлома, указав свой собственный URL-адрес обновления и «обновление «фиктивный файл javascript, который будет записан в).

Можно ли просто запросить местоположение для хранения файла, а затем разрешить пользователю отредактировать этот файл и синхронизировать его?

+0

Вам нужно будет использовать собственный обмен сообщениями https://developer.chrome.com/extensions/nativeMessaging. Я думаю. – wOxxOm

ответ

1

Нет, расширения изолированы от реальной файловой системы.

Как вы сказали, можно прочитать собственные файлы расширения; однако это расширение доступно только для чтения и изменение этих файлов на развернутом расширении приведет к тому, что обнаружение расширений Chrome «подделка» и немедленное отключение в качестве меры предосторожности.

Единственный способ для расширения Chrome для выхода из песочницы - это, как предложил wOxxOm, модуль Native Host. Обратите внимание, что это невозможно распространить в Интернет-магазине Chrome с расширением; ему нужен отдельный установщик.

В качестве альтернативы вы можете использовать какое-то облачное хранилище с API для доступа к нему; например пользователь может хранить что-то в подпапке Dropbox, и ваше расширение может разрешить доступ к нему через Dropbox API. К сожалению, нет «родного» решения, такого как syncFileSystem для приложений.

 Смежные вопросы

  • Нет связанных вопросов^_^