2

コピーと貼り付けの 2 つのボタンを持つ拡張機能を作成する必要があります。[コピー] ボタンは、ページ上のテキスト入力とテキスト領域のコンテンツを選択し、ストレージ モジュールに保存します。[貼り付け] ボタンは、同じ ID を持つ入力領域とテキスト領域内の別のページに保存されたテキストを貼り付けます。

ローカルの sotrage を使用して動作させることはできましたが、コンテンツは同じドメインにしか保存されませんでした。chrome.storage モジュールを使用してデータを保存および取得しようとしました。機能させることができませんでした。

この問題に対する最善のアプローチを教えてください。

更新: 拡張機能は機能しますが、少し不便です:

chrome.extension.onMessage.addListener(
    function(request, sender, sendResponse) {      
        storage.get('form_data', function(item) {
            sendResponse(item);
        });   
    }
});

これはエラーを返します:応答を送信できませんでした: リスナーが戻った後に応答を送信する場合、chrome.extension.onMessage リスナーは true を返す必要があります。

var form_data;
chrome.extension.onMessage.addListener(
    function(request, sender, sendResponse) {      
        storage.get('form_data', function(item) {
            form_data = item;
        });   
        sendResponse(form_data);
    }
});

これは機能しますが、関数を2回呼び出す必要があります(貼り付けボタンをクリックします)。最初の呼び出しは未定義を返し、その後データを取得し、2番目の呼び出しはストレージ値を返すと推測しています。

4

1 に答える 1