問題タブ [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.
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 つだけである場合、何百倍、何千倍もの情報を取得する必要はないように思われます。
乾杯。
javascript - Chrome 拡張機能: ローカル ストレージからのデータ取得
ポップアップ ウィンドウでテスト サーバーを認証し、テスト サーバーからデータを取得し、バックグラウンド スクリプトを介してローカル ストレージに保存し、popup.html に表示する拡張機能を構築しようとしています。問題は、サーバーからのデータを保存できますが、最初の認証で表示できないことです。再度ログインする必要があります。その後、テスト サーバーから取得したデータを表示できますか? ヒントやアドバイスをいただければ幸いです。
ポップアップ.js:
Backgroundscript.js
Contentscript.js:
backgroundscript.js:
index.html (拡張機能の別のポップアップ ページ) に localStorage["Project"] を入力しますが、一度にプロジェクトの詳細を入力することはできませんでした。ページをリロードする必要があります。それはindex.htmlにあります
javascript - Chrome アプリで Chrome Storage API を使用して変数が更新されない
私はコードに苦労しています。私はjavascriptが初めてで、数日間検索していますが、答えが見つかりません。
オフラインで使用するための情報を含む 2 つのオブジェクトを格納するために、AngularJs と Chrome Storage API を使用して Chrome アプリを作成しています。データをChromeストレージに正常に書き込み、取得しましたが、唯一の問題は、取得したデータを保存している変数がhtmlページを更新しないことです。
これは、Chrome Storage API で以前に保存されたデータを取得するために使用しているコードです。
私のhtmlファイルには{{controller.maestros}}があり、ログにはデータが取得されたことが示されていますが、表示されたデータには反映されません。
事前にどうもありがとうございました!
javascript - 長すぎない文字列に対して QUOTA_BYTES_PER_ITEM エラーが発生するのはなぜですか?
拡張機能にプレイリストを表すオブジェクトがあり、それをchrome.storage.syncに保存する必要があります。
私は 4096 QUOTA_BYTES_PER_ITEMについて知っています。つまり、4096key.length + JSON.stringify(val).length
未満でなければなりません。しかし、私のオブジェクトは3956 (val stringify の長さ + ket の長さ) で、まだストレージに書き込めません。私は何を間違っていますか?
私のオブジェクトの JSON 文字列化の結果:
次のコードは、ストレージに格納されるオブジェクト サイズを計算します。
そしてそれは戻ってきます
オブジェクトにUTF-8の非ラテン記号が含まれているため、そのような魔法のようなものでしょうか? ネイティブ側の chrome がこの文字のエスケープ (\uXXXX) を実行し、4096 を超える長さになったのではないでしょうか? もしそうなら、どうすればJSON.stringify()
そのエスケープを行うことができますか?
google-chrome-extension - Chrome DevTools 拡張機能がストレージにアクセスできない
Devtools ページから Chrome Storage API にアクセスする Chrome 拡張機能を作成しています。chrome.storage.local 変数 (get/set 関数を使用) を使用できますが、それらを呼び出すとコールバックが呼び出されません。バックグラウンド ページを使用してストレージ API にアクセスすると、期待どおりに動作します。
もちろん、バックグラウンド ページを介してリクエストを送信し、メッセージを介して Devtools ページに渡すこともできますが、よりクリーンなアプローチを探しています。私は何か間違ったことをしていますか?私の問題を説明するために、私が対処していることの小さなサンプルを作成しました。ここからダウンロードする準備ができています。http://g2f.nl/0w2kko9 .
これには、API が使用可能であるが期待どおりに機能しないことを確認する次のテストが含まれます。
javascript - Chrome 拡張機能: ワンクリックでストレージから値を取得できません
ストレージを使用している chrome 拡張機能があり、1 回のエンター クリックでストレージから値を取得できません。
入力フィールドは 1 つです。ユーザーが値を入力して Enter キーを押すと、拡張機能はストレージから値を取得し、ユーザーの入力をこの値に追加する必要があります。最初の Enter キーは機能しませんが、ユーザーが 2 回目に Enter キーを押すと、保存された値が表示されます。
問題は関数の順序にあると思いますが、どこが正確かわかりません。
正しい順序でコード化:
コード全体は gitHub リポジトリで見ることができます: https://github.com/iriiiina/fisheyeGraph