'fileSystem' разрешена только для упакованных приложений, и это устаревшее упакованное приложение
Мне нужно использовать разрешение fileSystem в manifest.js, чтобы я мог читать / записывать файлы из моего расширения Chrome.
Когда я загружаю расширение с помощью кнопки "Загрузить распакованное расширение", Chrome отображает:
'fileSystem' is only allowed for packaged apps, and this is a legacy packaged app.
Так что для Chrome мое расширение является устаревшим упакованным приложением.
Мой вопрос заключается в том, как технически преобразовать "устаревшее упакованное приложение" в "упакованные приложения", чтобы я мог протестировать API файловой системы?
Вот мой манифест:
{
"name": "MyApp",
"version": "1.0",
"manifest_version": 2,
"app": {
"launch": {
"local_path": "index.html"
}
},
"icons": {
"128": "favicon.ico"
},
"permissions" : [
"fileSystem"
]
}
На самом деле я уже использую "manifest_version": 2
,
2 ответа
Упакованные приложения имеют другую структуру в разделе "приложения" манифеста. Ваш manifest.json будет выглядеть примерно так:
{
"name": "MyApp",
"version": "1.0",
"manifest_version": 2,
"app": {
"background": {
"scripts": [
"main.js"
]
}
},
"icons": {
"128": "favicon.ico"
},
"permissions": [
"fileSystem"
]
}
и вам также понадобится фоновый скрипт ("main.js" в этом примере), который открывает ваш index.html, когда пользователь нажимает на значок приложения:
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html', {
bounds: {
width: 500,
height: 300
}
});
});