Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

409
Views
How to save data with Chrome.storage Chrome Extension [MV2]

I learning how to develop Chrome extensions and at a point where I'd like to have user input and be able to save that input data. Upon refresh, the 'data' is deleted.

I have tried using chrome.storage, both local and sync, but have yet to succeed. I have also many tutorials.

background.js

async function userName() {
  try {
    const userName = setName();
    // Save the `image` object to chrome's local storage area
    // under the `nextImage` key
    console.log(userName);

    chrome.storage.local.set({ userName: userName });
  } catch (err) {
    console.log(err);
  }
}

main.js

const submit = document.querySelector("#submit");

submit.addEventListener("click", () => {
  // Set Name
  function userName(name) {
    const username = document.querySelector("#username");
    username.value = name;
  }
});

console.log(userName());
  // Retrieve the user name object
  chrome.storage.local.get("userName", (data) => {
    if (data.userName) {
      userName(data.userName);
    }
  });


main.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Chrome Storage</title>
</head>
<body>
  <h1>Chrome Storage</h1>
  
  <input id="username" type="text" placeholder="Name">
  <button id="submit" >Submit</button>
  <p id="name"></p>
</body>
  <script src="main.js"></script>
</html>

mainfest.json

{
  "manifest_version": 2,
  "name": "Chrome Storage",
  "description": "Chrome storage",
  "version": "1.0.0",
  "permissions": [
      "tabs",
      "storage"
  ],
  "browser_action" : {
      "default_popup": "popup.html"
  },
  "chrome_url_overrides" : {
      "newtab": "main.html"
  },
  "background": {
      "scripts": ["background.js"],
      "persistent": false
  },
  "content_scripts": [{
      "css": ["style.css"],
      "js": ["main.js"],
      "all_frames": true,
      "matches": ["http://*/*"]
  }]
}

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!