 #  WindowNameStore 

 

  ![WindowNameStore](https://cdn.richeyweb.com/images/articles/windownamestore/windownamestore.webp)    ## Privacy-Friendly Volatile Storage for Web Developers

WindowNameStore: A lightweight, open-source JavaScript class that empowers developers to manage temporary session data without the privacy pitfalls of cookies or localStorage. Built to comply with strict privacy regulations like GDPR and the EU e-Privacy Directive, WindowNameStore leverages the window.name property to provide a volatile, consent-free storage solution. Released under the GPL-v3 license, it’s free to use, modify, and distribute.

## Why Choose WindowNameStore?

In a world where privacy laws demand user consent for persistent storage like cookies and localStorage, WindowNameStore offers a game-changing alternative. Here’s why it stands out:

- Privacy-Compliant by Design: Uses the window.name property, which is automatically cleared when the browser tab closes, eliminating the need for cookie consent banners in regions like the EU.
- Volatile Storage: Data persists only for the browser session, ensuring no long-term storage or tracking risks—perfect for temporary data like form states or user preferences.
- Lightweight &amp; Simple: A compact JavaScript class that’s easy to integrate into any web project, with minimal setup.
- Open-Source Freedom: Licensed under GPL-v3, WindowNameStore is free to use, modify, and share, giving developers full control.  
    Cross-Browser Compatibility: Works seamlessly across modern browsers that support window.name, ensuring broad usability.
- No Server-Side Dependency: Operates entirely client-side, reducing complexity and server load.
 
## Key Features

- Volatile Data Storage: Store data temporarily in window.name, automatically cleared when the browser tab or window closes.
- JSON-Based Key-Value System: Easily manage data with a simple set, get, and remove API, using JSON for flexible data structures.
- Privacy-First: No persistent storage, no cookies, no tracking—ideal for privacy-sensitive applications.
- Lightweight Footprint: Minimal code size ensures fast integration without bloating your project.
- Customizable &amp; Extensible: Open-source under GPL-v3, allowing developers to tailor the class to their needs.
 
## Use Cases

WindowNameStore is perfect for developers building privacy-conscious web applications. Common use cases include:

- Form State Preservation: Save form input data during a session to prevent loss on page navigation or refresh.
- Temporary User Preferences: Store user settings (e.g., theme or layout preferences) for the duration of a session.
- Session-Based Workflow: Manage multi-step processes without relying on server-side storage or cookies.
- Privacy-Sensitive Apps: Build applications that comply with GDPR, EU e-Privacy Directive, and other privacy regulations without compromising functionality.
 
## How It Works

WindowNameStore uses the browser’s window.name property to store data as a JSON string. This data is tied to the browser tab or window and is automatically cleared when the session ends, ensuring no persistent data remains. The class provides a simple API:

- Set Data: WindowNameStore.set(key, value) – Store a value under a specified key.
- Get Data: WindowNameStore.get(key) – Retrieve the value for a given key.
- Remove Data: WindowNameStore.remove(key) – Delete a specific key-value pair.
- Clear All: WindowNameStore.clear() – Wipe all stored data for the session.
- No setup headaches, no server-side dependencies—just pure, client-side simplicity.
 
## Get Started

- Download: Grab WindowNameStore below.
- Integrate: Include the JavaScript file in your project.
- Use: Initialize the class and start managing session data with a few lines of code.
 
javascript

 ```javascript

<span class="hljs-keyword">class</span> <span class="hljs-title class_">WindowNameStore</span> {
  <span class="hljs-title function_">constructor</span>() {
    <span class="hljs-keyword">try</span> {
      <span class="hljs-keyword">const</span> rawData = <span class="hljs-variable language_">window</span>.<span class="hljs-property">name</span> || <span class="hljs-string">'{}'</span>; <span class="hljs-comment">// Default to empty object if unset</span>
      <span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span> = <span class="hljs-title class_">JSON</span>.<span class="hljs-title function_">parse</span>(rawData);
    } <span class="hljs-keyword">catch</span> (e) {
      <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">warn</span>(<span class="hljs-string">'Invalid window.name data, resetting to empty object'</span>, e);
      <span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span> = {};
      <span class="hljs-variable language_">this</span>.<span class="hljs-title function_">_sync</span>();
    }
  }

  <span class="hljs-title function_">_sync</span>() {
    <span class="hljs-variable language_">window</span>.<span class="hljs-property">name</span> = <span class="hljs-title class_">JSON</span>.<span class="hljs-title function_">stringify</span>(<span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span>);
  }

  <span class="hljs-title function_">get</span>(<span class="hljs-params">key, defaultValue = <span class="hljs-literal">null</span></span>) {
    <span class="hljs-keyword">return</span> key <span class="hljs-keyword">in</span> <span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span> ? <span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span>[key] : defaultValue;
  }

  <span class="hljs-title function_">set</span>(<span class="hljs-params">key, value</span>) {
    <span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span>[key] = value;
    <span class="hljs-variable language_">this</span>.<span class="hljs-title function_">_sync</span>();
  }

  <span class="hljs-title function_">clear</span>() {
    <span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span> = {};
    <span class="hljs-variable language_">this</span>.<span class="hljs-title function_">_sync</span>();
  }

  <span class="hljs-title function_">delete</span>(<span class="hljs-params">key</span>) {
    <span class="hljs-keyword">delete</span> <span class="hljs-variable language_">this</span>.<span class="hljs-property">_data</span>[key];
    <span class="hljs-variable language_">this</span>.<span class="hljs-title function_">_sync</span>();
  }
}

```

// Example

 ```javascript

const store = new WindowNameStore();
store.set('username', 'JohnDoe');
console.log(store.get('username')); // Outputs: JohnDoe
store.remove('username');
store.clear(); // Clears all data

```

 ```
 
```

WindowNameStore is part of RicheyWeb’s commitment to solving real-world developer challenges with innovative, open-source tools.

 ```
 
```



- [      email ](mailto:?subject=WindowNameStore&body=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fjavascript%2Fwindownamestore)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fjavascript%2Fwindownamestore)
- [      x-twitter ](https://twitter.com/intent/tweet?text=WindowNameStore%3A+https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fjavascript%2Fwindownamestore)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fjavascript%2Fwindownamestore&title=WindowNameStore&summary=Privacy-Friendly+Volatile+Storage+for+Web+Develope...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fjavascript%2Fwindownamestore&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=WindowNameStore)
 


 

   [  Previous article: RobotEye   RobotEye ](/software/javascript/roboteye) [  Next article: JavaScript Filter Table  JavaScript Filter Table  ](/software/javascript/javascript-filter-table)  

##### We Value Your Privacy

 

We use cookies to enhance your experience and for traffic analysis. By continuing to visit this site you agree to our use of cookies.

[Privacy Policy](/privacy-policy)

 Details 

###### Google Tag Manager Items

- Ad Storage
- Ad User Data
- Ad Personalization
- Analytics Storage
- Functionality Storage
- Personalization Storage
- Security Storage
 
 

 

 

 

 

 Decline Accept
```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.richeyweb.com/#organization","name":"RicheyWeb","url":"https://www.richeyweb.com/","logo":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/logo/richeyweb.svg","contentUrl":"https://www.richeyweb.com/images/logo/richeyweb.svg","width":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"@id":"https://www.richeyweb.com/#logo"},"image":{"@id":"https://www.richeyweb.com/#logo"},"sameAs":["https://x.com/ComRicheyweb","https://www.facebook.com/RicheyWebDev/","https://www.youtube.com/channel/UCxnVG8BwOvQRO7hVqNX7T2g","https://community.joomla.org/service-providers-directory/listings/115:richeyweb.html"],"description":"RicheyWeb is a custom software developer specializing in Joomla extensions.","ContactPoint":[{"@type":"ContactPoint","url":"https://www.richeyweb.com/contact-us","telephone":"903-873-8460","contactType":"Owner/Administrator","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"},{"@type":"ContactPoint","url":"https://www.richeyweb.com/bugs","telephone":"903-873-8460","contactType":"Technical Support","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"}],"knowsAbout":["Computer programming",{"@type":"Thing","name":"Computer programming","sameAs":["https://en.wikipedia.org/wiki/Computer_programming","https://www.wikidata.org/wiki/Q80006","https://g.co/kg/m/01mf_"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"arduino","Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"White hat",{"@type":"Thing","name":"White hat","sameAs":["https://en.wikipedia.org/wiki/White_hat_(computer_security)","https://www.wikidata.org/wiki/Q7995625","https://g.co/kg/m/03ns_5"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Search engine marketing",{"@type":"Thing","name":"Search engine marketing","sameAs":["https://en.wikipedia.org/wiki/Search_engine_marketing","https://www.wikidata.org/wiki/Q846132","https://g.co/kg/m/06mw8r"]},"Digital marketing",{"@type":"Thing","name":"Digital marketing","sameAs":["https://en.wikipedia.org/wiki/Digital_marketing","https://www.wikidata.org/wiki/Q1323528","https://g.co/kg/g/122hcnps"]},"Web hosting service",{"@type":"Thing","name":"Web hosting service","sameAs":["https://en.wikipedia.org/wiki/Web_hosting_service","https://www.wikidata.org/wiki/Q5892272","https://g.co/kg/m/014pz4"]},"Email hosting service",{"@type":"Thing","name":"Email hosting service","sameAs":["https://en.wikipedia.org/wiki/Email_hosting_service","https://www.wikidata.org/wiki/Q5368818","https://g.co/kg/m/09w60m"]},"Internet hosting service",{"@type":"Thing","name":"Internet hosting service","sameAs":["https://en.wikipedia.org/wiki/Internet_hosting_service","https://www.wikidata.org/wiki/Q1210425","https://g.co/kg/m/09w5yw"]},"Virtual hosting",{"@type":"Thing","name":"Virtual hosting","sameAs":["https://en.wikipedia.org/wiki/Virtual_hosting","https://www.wikidata.org/wiki/Q588365","https://g.co/kg/m/024mvh"]},"Web performance",{"@type":"Thing","name":"Web performance","sameAs":["https://en.wikipedia.org/wiki/Web_performance","https://www.wikidata.org/wiki/Q7978612","https://g.co/kg/m/0gfj3f1"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"General Data Protection Regulation",{"@type":"Thing","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Prompt engineering",{"@type":"Thing","name":"Prompt engineering","sameAs":["https://en.wikipedia.org/wiki/Prompt_engineering","https://www.wikidata.org/wiki/Q108941486","https://g.co/kg/g/11p6kpgt_n"]},"E-learning",{"@type":"Thing","name":"E-learning","sameAs":["https://en.wikipedia.org/wiki/E-learning_(theory)","https://www.wikidata.org/wiki/Q182250","https://g.co/kg/g/122czm1f"]},"Sharable Content Object Reference Model",{"@type":"Thing","name":"Sharable Content Object Reference Model","sameAs":["https://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model","https://www.wikidata.org/wiki/Q827811","https://g.co/kg/m/06_40"]},"Experience API",{"@type":"Thing","name":"Experience API","sameAs":["https://en.wikipedia.org/wiki/Experience_API","https://www.wikidata.org/wiki/Q7807728","https://g.co/kg/g/1yw9ktxr8"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Nginx",{"@type":"Thing","name":"Nginx","sameAs":["https://en.wikipedia.org/wiki/Nginx","https://www.wikidata.org/wiki/Q306144","https://g.co/kg/m/02qft91"]},"MySQL",{"@type":"Thing","name":"MySQL","sameAs":["https://en.wikipedia.org/wiki/MySQL","https://www.wikidata.org/wiki/Q850","https://g.co/kg/m/04y3k"]}],"areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"memberOf":["Mensa International",{"@type":"Organization","name":"Mensa International","sameAs":["https://en.wikipedia.org/wiki/Mensa_International","https://www.wikidata.org/wiki/Q184194","https://g.co/kg/m/0140pf"]},"National Rifle Association",{"@type":"Organization","name":"National Rifle Association","sameAs":["https://en.wikipedia.org/wiki/National_Rifle_Association","https://www.wikidata.org/wiki/Q863259","https://g.co/kg/m/0j6f9"]},"CompTIA",{"@type":"Organization","name":"CompTIA","sameAs":["https://en.wikipedia.org/wiki/CompTIA","https://www.wikidata.org/wiki/Q597534","https://g.co/kg/m/040shq"]},"ISFCE LLC",{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://isfce.com","https://g.co/kg/g/11wxm5r0rg"]}],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Joomla 3 Certified Administrator","credentialCategory":"Certification","description":"Administrator Exam is the first available Joomla! certification exam","recognizedBy":{"@type":"Organization","name":"Open Source Matters, Inc.","sameAs":["https://en.wikipedia.org/wiki/Open_Source_Matters,_Inc.","https://g.co/kg/g/11f00wvjhz"]},"url":"https://certification.joomla.org/certified-user-directory/michael-richey","about":["Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/badge.webp","contentUrl":"https://www.richeyweb.com/images/contact/badge.webp","width":{"@type":"QuantitativeValue","value":300,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":86,"unitCode":"PX"},"caption":"Joomla 3 Certified Administrator"}},{"@type":"EducationalOccupationalCredential","name":"Certified Computer Examiner","credentialCategory":"Certification","description":"Internationally recognized computer forensics certifiecation","recognizedBy":{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://en.wikipedia.org/wiki/ISFCE_LLC","https://g.co/kg/g/11wxm5r0rg"]},"url":"https://isfce.com/","about":["Digital forensics",{"@type":"Thing","name":"Digital forensics","sameAs":["https://en.wikipedia.org/wiki/Digital_forensics","https://www.wikidata.org/wiki/Q3246940","https://g.co/kg/m/0cnxzfx"]},"Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"Mobile device forensics",{"@type":"Thing","name":"Mobile device forensics","sameAs":["https://en.wikipedia.org/wiki/Mobile_device_forensics","https://www.wikidata.org/wiki/Q6887097","https://g.co/kg/m/06zp3tp"]},"Network forensics",{"@type":"Thing","name":"Network forensics","sameAs":["https://en.wikipedia.org/wiki/Network_forensics","https://www.wikidata.org/wiki/Q7001032","https://g.co/kg/m/05pb280"]},"Database forensics",{"@type":"Thing","name":"Database forensics","sameAs":["https://en.wikipedia.org/wiki/Database_forensics","https://www.wikidata.org/wiki/Q5227405","https://g.co/kg/m/0cgqsy"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/isfce-cce.webp","contentUrl":"https://www.richeyweb.com/images/contact/isfce-cce.webp","width":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"caption":"Certified Computer Examiner"}}],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Web Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Hosting"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Development"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Search Engine Optimization"}}]}},{"@type":"WebSite","@id":"https://www.richeyweb.com/#website","url":"https://www.richeyweb.com/","name":"RicheyWeb","publisher":{"@id":"https://www.richeyweb.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.richeyweb.com/search?q={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string","valueMaxLength":256,"valueMinLength":2,"valuePattern":"^[A-Za-z0-9\\s]+$"}},"creator":{"@id":"https://www.richeyweb.com/#organization"},"copyrightHolder":{"@id":"https://www.richeyweb.com/#organization"}},{"@type":"WebPage","@id":"https://www.richeyweb.com/software/javascript/windownamestore#webpage","url":"https://www.richeyweb.com/software/javascript/windownamestore","name":"WindowNameStore","description":"WindowNameStore: Privacy-friendly JavaScript class for volatile session storage using window.name. GDPR-compliant, lightweight, open-source. 135 characters.","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/windownamestore/windownamestore.webp","contentUrl":"https://www.richeyweb.com/images/articles/windownamestore/windownamestore.webp","width":{"@type":"QuantitativeValue","value":666,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":375,"unitCode":"PX"},"caption":"WindowNameStore","representativeOfPage":true},"headline":"WindowNameStore","description":"WindowNameStore: Privacy-friendly JavaScript class for volatile session storage using window.name. GDPR-compliant, lightweight, open-source. 135 characters.","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-09-02T00:00:00+00:00","dateModified":"2025-11-24T00:00:00+00:00","about":["JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"Computer data storage",{"@type":"Thing","name":"Computer data storage","sameAs":["https://en.wikipedia.org/wiki/Computer_data_storage","https://www.wikidata.org/wiki/Q66221","https://g.co/kg/m/01m9s"]}],"mentions":["browser session (concept)","General Data Protection Regulation",{"@type":"Book","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"ePrivacy Directive",{"@type":"Book","name":"ePrivacy Directive","sameAs":["https://en.wikipedia.org/wiki/EPrivacy_Directive","https://www.wikidata.org/wiki/Q1744072","https://g.co/kg/m/02qv74_"]},"Open-source software",{"@type":"Thing","name":"Open-source software","sameAs":["https://en.wikipedia.org/wiki/Open-source_software","https://www.wikidata.org/wiki/Q1130645","https://g.co/kg/m/01pjyj"]},"Web development tools",{"@type":"Thing","name":"Web development tools","sameAs":["https://en.wikipedia.org/wiki/Web_development_tools","https://www.wikidata.org/wiki/Q4343954","https://g.co/kg/m/03nt3v1"]},"Front-end web development",{"@type":"Thing","name":"Front-end web development","sameAs":["https://en.wikipedia.org/wiki/Front-end_web_development","https://www.wikidata.org/wiki/Q4130556","https://g.co/kg/m/010gqt_p"]},"HTTP cookie",{"@type":"Thing","name":"HTTP cookie","sameAs":["https://en.wikipedia.org/wiki/HTTP_cookie","https://www.wikidata.org/wiki/Q178995","https://g.co/kg/m/0d18sk"]},"Web storage",{"@type":"Thing","name":"Web storage","sameAs":["https://en.wikipedia.org/wiki/Web_storage","https://www.wikidata.org/wiki/Q48869","https://g.co/kg/m/05zxt2r"]}],"@id":"https://www.richeyweb.com/software/javascript/windownamestore#article","isPartOf":{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"articleSection":"JavaScript","url":"https://www.richeyweb.com/software/javascript/windownamestore","hasPart":[{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-privacy-friendly-volatile-storage-for-web-developers_2_1"},{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-why-choose-windownamestore_2_2"},{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-key-features_2_3"},{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-use-cases_2_4"},{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-how-it-works_2_5"},{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-get-started_2_6"}]},{"@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex","@type":"ItemList","name":"WindowNameStore","numberOfItems":6,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-privacy-friendly-volatile-storage-for-web-developers_2_1","name":"Privacy-Friendly Volatile Storage for Web Developers","url":"https://www.richeyweb.com/software/javascript/windownamestore#toc-privacy-friendly-volatile-storage-for-web-developers_2_1"}},{"@type":"ListItem","position":2,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-why-choose-windownamestore_2_2","name":"Why Choose WindowNameStore?","url":"https://www.richeyweb.com/software/javascript/windownamestore#toc-why-choose-windownamestore_2_2"}},{"@type":"ListItem","position":3,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-key-features_2_3","name":"Key Features","url":"https://www.richeyweb.com/software/javascript/windownamestore#toc-key-features_2_3"}},{"@type":"ListItem","position":4,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-use-cases_2_4","name":"Use Cases","url":"https://www.richeyweb.com/software/javascript/windownamestore#toc-use-cases_2_4"}},{"@type":"ListItem","position":5,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-how-it-works_2_5","name":"How It Works","url":"https://www.richeyweb.com/software/javascript/windownamestore#toc-how-it-works_2_5"}},{"@type":"ListItem","position":6,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/javascript/windownamestore#articleindex-toc-get-started_2_6","name":"Get Started","url":"https://www.richeyweb.com/software/javascript/windownamestore#toc-get-started_2_6"}}]}]}
```
