現在、Chrome拡張機能を作成していますが、私は最後にユーザーの設定を保存しています。
Local Storageが文字列を格納することはわかっていますが、この段階では文字列を使用するだけで迷うことになりますが、ストレージ要件が大きくなるにつれて2次元アレイが必要になります。 Local Storageは配列を格納することができませんが、JSONを使用することができます。私はJSONを使ったことが一度もありませんでした。例を見るとき、私はそのようにする方法を理解していません。Chrome拡張機能に配列を保存
for (i=1;i<=localStorage["totalwebsites"];i++) {
// Get the title of the current item
var title = localStorage["websitetitle" + i];
// Create the new context menu item, and get its menuItemId to store in the right localStorage string
var menuItemId = chrome.contextMenus.create({parentId: ParentID, title: title, contexts:["selection"], onclick: searchFromContext});
// Store the created menu items menuItemId in the array so we know which item was chosen later on
websitesarray[menuItemId] = localStorage["websiteurl" + i];
}
ご覧のとおり、文字列を使用すると、非常に面倒で、非常に速くなります。私はtotalwebsitesが配列内の項目の数になることを望んでいました。そして、websitetitleとwebsiteurlは2次元配列になります。
JSONでこれをどうやってやっているのか、少なくともこれがChrome自体に永続的に保存される方法はわかりません。私はあなたがローカルストレージストリングにそれをいくつかのポイントか何かに戻さなければならないと思いますか?私はこれを得ているとは思わない。
すべてのヘルプ/ポインタがはるかに高く評価されるだろう、私はあまり見つけることができません:(
これらの項目は、それらが追加された順序?もしそうなら、それはかなり素晴らしいです。一つの最終的なもの、これは多次元である可能性がありますo menuItemId、title、urlを同じ行に格納できますか?ですから、最初の項目に 'menuItemId = websitesarray [0,1];' 'title = websitesarray [1,1];'と 'url = websitesarray [1,2];を使うことができますか? –
いいえ、これは配列を1つの 'localstorage'スロットに格納できるように配列を文字列に/から変換する方法です。 JavaScriptは多次元配列を直接サポートしていないため、別の解決策が必要です。 (最もクリーンなソリューション:オブジェクト、最も単純なソリューション:タイトル、URL、IDのための別々の配列) – duskwuff
迅速な返答をありがとう。今のところ、私は3つの配列を持っています(ユーザーがこれを望んでいるかどうかを見たいと思っています)。そして、オブジェクトを使って少し掃除します。一度、もう一度、ありがとう、良い一日を。 –