8

Tôi cần sử dụng quyền tệpSystem trong tệp manifest.js, vì vậy tôi có thể đọc/ghi tệp từ tiện ích mở rộng của Chrome.'fileSystem' chỉ được phép cho các ứng dụng đóng gói và đây là ứng dụng được đóng gói cũ

Khi tôi tải phần mở rộng của tôi với "Load giải nén mở rộng" nút, Chrome sẽ hiển thị:

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

Vì vậy, cho Chrome phần mở rộng của tôi là một di sản đóng gói ứng dụng.

Câu hỏi của tôi là làm thế nào để về mặt kỹ thuật chuyển đổi một "di sản đóng gói ứng dụng" thành một "ứng dụng đóng gói" vì vậy tôi có thể kiểm tra các API FileSystem?

Đây là biểu hiện của tôi:

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

Trên thực tế tôi đã sử dụng "manifest_version": 2.

Trả lời

10

ứng dụng đóng gói có một cấu trúc khác nhau trong "ứng dụng" của manifest. manifest.json của bạn sẽ là một cái gì đó như:

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

và bạn cũng sẽ cần một kịch bản nền ("main.js" trong mẫu này) mở index.html của bạn khi người dùng nhấp vào biểu tượng ứng dụng:

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

Thêm: https://developer.chrome.com/apps/about_apps.html – sowbug

+8

Google chắc chắn không giúp người phát triển dễ dàng tạo ra ứng dụng: sự nhầm lẫn giữa tiện ích, ứng dụng được lưu trữ và ứng dụng đóng gói, quyền hạn chế, v.v. –

+3

Nếu tôi thay đổi tiện ích mở rộng thành ứng dụng, tôi sẽ chỉ nhận được các tab '' cho tiện ích mở rộng và ứng dụng được đóng gói cũ nhưng đây là ứng dụng được đóng gói.', hiện tại là w mũ? Thậm chí có thể yêu cầu cả các quyền 'tab' và' filesystem'? –

-2

Thêm phần này vào biểu hiện của bạn:

"manifest_version": 2, 
Các vấn đề liên quan