Chrome Extension ( manifest version 3 ) storage session

拡張機能読込方法は下記参照 ⇒ Chrome Extension: Load unpacked extension
Devtools起動方法は下記参照 ⇒ Chrome Extension: Inspect background script

background.js

console.log('Hello, I am background scripts');

chrome.storage.onChanged.addListener((objects, strings) => {
  console.log('storage.onChanged');
  console.log(`storage.onChanged area name is ${strings}`);
  console.log(objects);
});

(async () => {
  const computedPropertyName = 'baz';
  const result1 = await chrome.storage.session.set({ foo: 'bar' });
  const result2 = await chrome.storage.session.set({ [computedPropertyName]: 'qux' });
  const result3 = await chrome.storage.session.get('foo');
  const result4 = await chrome.storage.session.get(['baz']);
  const result5 = await chrome.storage.session.get(['foo', 'baz']);
  console.log(`chrome.storage.session.get: foo is ${result3.foo}`);
  console.log(`chrome.storage.session.get: baz is ${result4.baz}`);
  console.log(`chrome.storage.session.get: foo is ${result5.foo} / baz is ${result5.baz}`);
  console.log(`chrome.storage.session.get: foo is ${result3['foo']}`);
  console.log(`chrome.storage.session.get: baz is ${result4['baz']}`);
  console.log(`chrome.storage.session.get: foo is ${result5['foo']} / baz is ${result5['baz']}`);
})();

manifest.json

{
  "manifest_version": 3,
  "name": "HelloStorage",
  "version": "1.0",
  "background": {
    "service_worker": "background.js"
  },
  "permissions": [
    "storage"
  ]
}

Reference

Reference
https://yuki.world/how-to-develop-chrome-extension-basics/
https://qiita.com/komlabo/items/5b99d3598f6664621dae
https://qiita.com/sakaimo/items/416f36db1aa982d8d00c
https://qiita.com/suin/items/2b31079056f1356257cb
https://qiita.com/RyBB/items/32b2a7b879f21b3edefc
https://qiita.com/k7a/items/26d7a22233ecdf48fed8
https://www.satoshiiiblog.com/2022/05/07/

Link1

Chrome Extension
https://developer.chrome.com/docs/extensions/
https://developer.chrome.com/docs/extensions/mv3/getstarted/
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
https://developer.chrome.com/docs/extensions/mv3/manifest/
https://developer.chrome.com/docs/extensions/mv3/match_patterns/
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/#debug_bg
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/#debug_cs

Link2

Chrome Extension: Load unpacked extension
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
https://yuki.world/how-to-develop-chrome-extension-basics/#t_3_chromechrome

Chrome Extension: Inspect background script
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/#debug_bg
https://www.tweeeety.blog/entry/2015/03/04/231354

Chrome Extension: Installing extensions via ChromeDriver
https://sites.google.com/chromium.org/driver/extensions
https://yuki.world/selenium-load-chrome-extension/#t_3

Link3

Chrome Extension: chrome.storage.session
https://developer.chrome.com/docs/extensions/reference/storage/
https://developer.chrome.com/docs/extensions/reference/storage/#property-session
https://developer.chrome.com/docs/extensions/reference/storage/#event-onChanged

Chrome New Extension API: chrome.storage.session
https://bugs.chromium.org/p/chromium/issues/detail?id=1185226
https://bugs.chromium.org/p/chromium/issues/detail?id=1185226#c5
https://bugs.chromium.org/p/chromium/issues/detail?id=1185226#c35
https://bugs.chromium.org/p/chromium/issues/detail?id=1185226#c49
https://bugs.chromium.org/p/chromium/issues/detail?id=1185226#c52

Link4

オブジェクト初期化子 計算プロパティ名
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#computed_property_names