Ryan H
Ryan H

Reputation: 2945

Create cookies in browser based on object structure

I need to create several cookies on a web page based on data that's been read by Puppeteer. From my understanding, I can create cookies with document. cookie in Javascript much like the following:

document.cookie = "name=oeschger; SameSite=None; expires=Fri, 31 Dec 9999 23:59:59 GMT; Secure";

However I can't find any way to create the above string based on an Object, or would I have to manually create some kind of function to effectively build up a cookie-based on key/value pairs from my array of objects?

My data looks like this:

[
  {
      "name": "cookiename",
      "value": "1",
      "domain": "mydomain",
      "path": "/",
      "expires": 1628089842,
      "size": 30,
      "httpOnly": false,
      "secure": false,
      "session": false,
      "sameParty": false,
      "sourceScheme": "NonSecure",
      "sourcePort": 80
  },
  {
      "name": "cookiename",
      "value": "1",
      "domain": "mydomain",
      "path": "/",
      "expires": 1628089842,
      "size": 30,
      "httpOnly": false,
      "secure": false,
      "session": false,
      "sameParty": false,
      "sourceScheme": "NonSecure",
      "sourcePort": 80
  }
]

Upvotes: 0

Views: 204

Answers (1)

Brendan Power
Brendan Power

Reputation: 23

    let arr = [
         {
          name: "cookiename",
          value: "1",
          domain: "mydomain",
          path: "/",
          expires: 1628089842,
          size: 30,
          httpOnly: false,
          secure: false,
          session: false,
          sameParty: false,
          sourceScheme: "NonSecure",
          sourcePort: 80
          },
      {
          name: "cookiename",
          value: "1",
          domain: "mydomain",
          path: "/",
          expires: 1628089842,
          size: 30,
          httpOnly: false,
          secure: false,
          session: false,
          sameParty: false,
          sourceScheme: "NonSecure",
          sourcePort: 80
      }
    ]

    const addCookies = () => {
      arr.map((i) => {
        document.cookie = i.name, i.value/*ect...*/
      })
    }
    
    window.addEventListener("load", () => {
      addCookies();
    })
      

Upvotes: 1

Related Questions