8

Potrzebuję użyć uprawnienia fileSystem w pliku manifest.js, aby móc czytać/zapisywać pliki z mojego rozszerzenia przeglądarki Chrome.'fileSystem' jest dozwolony tylko dla aplikacji w pakietach, a jest to starsza, opakowana aplikacja.

Kiedy załadować moje rozszerzenie z „Wczytaj rozszerzenie” przycisk, Chrome wyświetla:

'fileSystem' is only allowed for packaged apps, and this is a legacy packaged app. 

Więc dla Chrome moje rozszerzenie jest spuścizna pakowane aplikacja.

Moje pytanie brzmi: w jaki sposób technicznie przekonwertować „spuściznę pakowane aplikację” w „pakietach aplikacji”, więc mogę przetestować API systemu plików?

Tu jest mój manifest:

{ 
"name": "MyApp", 
"version": "1.0", 
"manifest_version": 2, 
    "app": { 
    "launch": { 
    "local_path": "index.html" 
    } 
}, 
"icons": { 
"128": "favicon.ico" 
}, 
    "permissions" : [ 
    "fileSystem" 
    ] 
} 

Rzeczywiście już używam "manifest_version": 2.

Odpowiedz

10

Pakowane aplikacje mają inną strukturę w sekcji „APP” manifeście. Twój manifest.json byłoby coś takiego:

{ 
"name": "MyApp", 
"version": "1.0", 
"manifest_version": 2, 
    "app": { 
    "background": { 
     "scripts": ["main.js"] 
    } 
    }, 
"icons": { 
"128": "favicon.ico" 
}, 
    "permissions" : [ 
    "fileSystem" 
    ] 
} 

i będzie trzeba także skrypt tle („main.js” w tym przykładzie), które otwiera index.html, gdy użytkownik kliknie na ikonę aplikacji:

chrome.app.runtime.onLaunched.addListener(function() { 
    chrome.app.window.create('index.html', { 
    bounds: { 
     width: 500, 
     height: 300 
    } 
    }); 
}); 
+0

Więcej: https://developer.chrome.com/apps/about_apps.html – sowbug

+8

Google jest zdecydowanie nie ułatwiając dla dla wydawców produkować aplikacje: pomylenie rozszerzeń hostowane aplikacje i pakować aplikacje, ograniczone uprawnienia etc. –

+3

Jeśli zmienię rozszerzenie do aplikacji, otrzymuję "tabulatory" są dozwolone tylko w przypadku rozszerzeń i starszych aplikacji w pakiecie, ale jest to aplikacja w pakiecie. ", Teraz w kapelusz? Czy jest nawet możliwe wymaganie uprawnień "tabs" i "filesystem"? –

-2

Dodaj do tego manifestu:

"manifest_version": 2,