問題タブ [google-chrome-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - chrome.storage.local から複数のパラメータ値を一度に取得する
2 つのパラメーターを持つメソッドを使用して、コンテンツ スクリプトをページに挿入したいと考えています。Chrome.storage.local.get()
は非同期であるため、すべてのパラメーターが から初期化されていることを確認してからchrome.local.storage
、メソッドの呼び出しを開始する必要があります。
これで、次のようなコードを使用して、毎回 1 つのパラメーターのみを取得できます。
しかし、これは 2 つのパラメーターを含むメソッドを呼び出すには不十分です。
では、それらを取得して取得する方法は?
google-chrome-extension - localStorage から chrome.storage への移行
現在、Chrome 拡張機能の永続性リポジトリを localStorage から chrome.storage に移行中です。それらの重要な違いは、chrome.storage が非同期であるため、コールバック関数を渡す必要があることです。
localStorage に同期して非同期の chrome.storage に書き込むループをどのように変更しますか?
ありがとう。
google-chrome-extension - Chrome ストレージに保存できません
次のコードを使用して、値を読み込んで chrome.storage に保存します。
このメソッドを実行すると、最初のアラートは次のように表示されGET:old=undefined
ます: 、2 番目のアラートは次SET:true
のように表示されます: 期待どおりです。しかし、同じパラメーターを使用してそのメソッドを再度呼び出すと、最初のアラート AGAIN が、期待したものではGET:old=undefined
なく表示GET:old=true
されます。
storage.sync の代わりに storage.local を使用した場合と同じ動作です。
「ストレージ」はマニフェストのアクセス許可にあります。JS は、私の拡張機能のオプション ページから呼び出されます。
google-chrome - Chrome MAX_WRITE_OPERATIONS_PER_HOUR エラーはリセットされません
クロム拡張機能で誤ってループを作成し、MAX_WRITE_OPERATIONS_PER_HOUR が約 5 秒でトリップしました。バグを修正して 3 時間待った後、chrome.storage.sync.set() を実行しようとすると、まだそのエラーが表示されます。数時間操作が初期化されていない場合でも、最大書き込み操作を超えていると chrome が応答するのはなぜですか?
google-chrome - chrome.storage.sync.set はストレージを更新しません
いくつかの chrome 拡張機能に chrome.storage.sync を使用しています。素晴らしいツールです!
しかし、ストレージを10回更新した後、問題が発生しました。ブロックされて更新されなくなりました...エラーも何もないので、どこに問題があるのか わかりません。
参考:倉庫にまだ空きがあります。
コード:
javascript - Chrome.Storage.Local 永続性
全て。Chrome のさまざまな API を使用して小規模な拡張機能の開発を開始しました。うまく機能していますが、まだ気になる点がいくつかあります。
質問が 2 つあります。
1. chrome.storage.local の永続性に対する制限を誰か教えてもらえますか? chrome.storage.local.set() を使用していくつかのものを保存し、ブラウザの履歴や Cookie などをすべてクリアしてから、すべてがまだそこにあるかどうかを確認するなど、さまざまなテストを自分で試しました。多くの場合、まだそこにあるでしょうが、後で確認すると消えてしまうことがあります。全体として、.local データを時折消去している自分の作業に明確にラベルを付けることができませんでした。
2. Chrome の「Chrome にサインイン」機能を使用してサインインしていない間は、これまでほとんど chrome.storage.sync を使用してきました。APIページで、Chromeがオフラインのときに.syncが使用された場合(ログインしていない場合も同様です)、データはローカルに保存され、後で同期されることを読みました。私の主な懸念は、chrome.storage.sync を使用して保存しているデータが、過去に chrome.storage.local を使用して保存しているデータのように消去される可能性があるということですか? 私が .sync を使用してきた主な理由の 1 つは、(#1 で説明したように) .local でデータが消去された経験がなかったからです。
本当にありがとう!助けてください!
編集:拡張子を誤って削除してから再度追加したため、.local クリアが発生していないと確信しています。.local データがクリアされることはわかっています (ただし、.sync は保持されます)。
google-chrome-extension - 複数の値を chrome.storage.local 配列キーにプッシュする方法は?
次のコードを使用して、key:value をローカル ストレージに設定しています。
キー「key」に複数の値を追加するにはどうすればよいですか?
jquery - jQuery 要素を chrome.storage に保存する
クリックされた要素を取得し、後で参照できるように chrome.storage に保存する Chrome 拡張機能を作成しようとしています。
クリックした要素を文字列として保存してストレージに設定することはできますが、これはすぐにストレージの制限に達します。
これについて最善の方法についてアドバイスが必要です。
クラス名の形式で要素への参照を保存することも問題があります。後で保存されたアイテムを反復処理して変更したいからです。これは、各要素に一意のクラス/ID 名がある場合にのみ機能します (たとえば、個々の文を参照したい)。
これには、私が見逃している簡単な解決策があると確信しています。
javascript - 複数のページで要素を非表示にする
クリックするとページ上の jQuery 要素を非表示にするクロム拡張機能を作成しています。
この要素への参照を chrome.storage API に保存する必要があるため、後でページが読み込まれたときに、その要素を再び非表示にすることができます。
ページの読み込み時に DOM ツリーが再構築されることは知っていますが、これが何かに影響するかどうかはわかりません。要素はページ上の何でもかまいませんので、必ずしもクラス/ID 名を持つ必要はありません。
参照を保存するための最良の方法は何ですか? これを行う方法についてのアイデアはすべてありません(JavaScriptの真新しい)。
アップデート
Xan が提案したように、要素への参照を格納するために xPath を使用しています。
//要素を取得
//保存する
//後でロード時に取得します
Xanが述べたように、ページが静的でない場合は完璧なアプローチではありませんが、必要なことは実行します
google-chrome-extension - 取得するオブジェクト プロパティを指定して、chrome ストレージに使用されるトラフィックを最小限に抑えます。
私の拡張機能では、特定のドメインの設定をchrome.storage.local
次の形式で設定しています。
を使用chrome.storage.local.get("domainSettings", function(response){})
してすべてのドメインの設定を取得してから、必要なものだけを取得するのではなく、 の設定だけを取得するにはどうすればよいでしょうかgoogle.com.au
。
必要な情報が 1 つだけである場合、何百倍、何千倍もの情報を取得する必要はないように思われます。
乾杯。