4

Chrome 拡張機能に大量のデータを効率的に保存する方法を探しています。約1〜2MBのtxtファイルがいくつかあります。Chrome 拡張機能でそれらをローカルに「キャッシュ」して、毎回取得する必要がないようにしたいのですが。syncFileSystemを見つけましたが、これはパックされたアプリでのみ利用できます。

この拡張機能をインストールしようとすると、次の警告が表示されました。

「syncFileSystem」はパッケージ化されたアプリでのみ許可されていますが、これは拡張機能です。

この種のデータを chrome 拡張機能に保存する最良の方法は何ですか?

マニフェスト.json

{
    "manifest_version": 2,
    "name": "__MSG_name__",
    "version": "1.0",
    "default_locale": "en",
    "description": "__MSG_description__",
    "icons" : {
        "16" : "img/logo_enabled_16.png",
        "48": "img/logo_enabled_48.png",
        "128": "img/logo_enabled_128.png"
    },
    "browser_action": {
        "default_icon": "img/logo_enabled_48.png",
        "default_title": "__MSG_browser_action_title__",
        "default_popup":"options.html"
    },
    "background": {
        "scripts": [
            "js/chrome.js",
            "js/filter.js",
            "js/background.js"
        ],
        "persistent": true
    },
    "content_scripts": [{
        "matches": [
            "http://*/*",
            "https://*/*"
        ],
        "js": [
            "js/docReady.js",
            "js/content.js"
        ]
    }],
    "offline_enabled":true,
    "options_ui": {
        "chrome_style": true,
        "page":"options.html"
    },
    "permissions": [
        "activeTab",
        "tabs",
        "webRequest",
        "webRequestBlocking",
        "webNavigation",
        "storage",
        "syncFileSystem",
        "http://*/*",
        "https://*/*"
    ],
    "short_name": "__MSG_shortName",
    "minimum_chrome_version":"45.0.2454.101",
    "web_accessible_resources":[
        "css/bootstrap.min.css",
        "js/jquery.min.js",
        "js/chrome.js",
        "js/bootstrap.min.js"
    ]
}
4

1 に答える 1

13

WebSQL 、IndexedDBchrome.storage.local、および HTML5ファイル システム(サンドボックス ファイル システム) のみが、許可によって 5MB の制限を超えて拡張できます"unlimitedStorage"

マニフェスト.json:"permissions": ["unlimitedStorage"]

データベースやローカル ストレージ ファイルなどの HTML5 クライアント側データを保存するための無制限のクォータを提供します。この権限がない場合、拡張機能またはアプリのローカル ストレージは 5 MB に制限されます。

ノート:

  • WebSQL は遅い IndexedDB を支持して W3C によって廃止されましたが、SQL ベースであるために高速で柔軟性があるという明白な理由から、Chrome にとどまると思います。
  • chrome.storage.localは最も使いやすいですが、大きなオブジェクトでは最速ではない可能性があります。速度が重要な場合は、いくつかのテストを行ってください。
  • ゲインが大きい場合は、Zip/LZMA Javascript ライブラリを使用してテキスト ファイルを圧縮/解凍します。
于 2015-12-03T08:12:46.803 に答える