возможно ли прочитать содержимое файла, который был добавлен во всплывающее окно с расширением chrome? Моя цель - создать расширение, которое поможет заполнить какую-то веб-форму. вам просто нужно перетащить текстовый файл в окно расширения, и тогда содержимое файла будет автоматически вставлено в веб-форму. Я знаю, что приложение Chrome может получить доступ к файловой системе, но я работаю с расширением. и мой файл удален пользователем. Я уже имел дело с "drag'n'drop" и с заменой содержимого веб-страницы.
Обновление мое расширение теперь работает нормально, большое спасибо @wOxxOm. я использую
var reader = new FileReader();
reader.readAsText(file);
reader.onloadend = function() {
content = this.result;
}
для чтения файлов и
chrome.tabs.query({"status":"complete","windowId":chrome.windows.WINDOW_ID_CURRENT,"active":true}, function(tabs){
chrome.tabs.sendMessage(tabs[0].id, content);
});
для отправки содержимого файла в скрипт содержимого.
, но сейчас я использую текстовый файл в качестве ввода. мой текстовый файл содержит JSON и выглядит как
{
"surname": "Smith",
"name": "John",
"select1": "value 3",
"email": "a@b.com",
}
, когда я перетаскиваю этот файл во всплывающее окно моего расширения, он сканирует веб-страницу для полей ввода (селектор имен jquery) с именами из этого JSON и заполняет эти поля с помощьюзначения из JSON. так что это автоматизированный инструмент для заполнения форм, и его можно использовать с любым веб-сайтом :) следующая проблема - использовать .docx
файлы в качестве входных данных. я знаю, что .docx
- это просто .zip
, поэтому я могу распаковать его и затем прочитать содержимое документа. но мне нужно сначала сохранить файл, распаковать его в папку расширений, а затем прочитать распакованные файлы. Я использую этот код для запроса доступа к изолированной файловой системе:
function onInitFs(fs) {
console.log('Opened file system: ' + fs.name);
}
window.requestFileSystem(window.TEMPORARY, 5*1024*1024 /*5MB*/, onInitFs, errorHandler);
, но, похоже, только приложения Google могут получить доступ к изолированной файловой системе. что я делаю не так? я не хочу получить доступ к локальной файловой системе. я думаю, что chrome.storage
не подходит, так как позволяет хранить ключевые элементы.