0% found this document useful (0 votes)
21 views4 pages

Cache in Website

The document explains various methods for caching data in webpages, including localStorage, sessionStorage, and Service Workers. It provides code examples for each method, demonstrating how to store and retrieve data, as well as how Service Workers can cache assets for offline use. The conclusion highlights the simplicity of localStorage and sessionStorage compared to the advanced capabilities of Service Workers, which require HTTPS.

Uploaded by

sachin kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views4 pages

Cache in Website

The document explains various methods for caching data in webpages, including localStorage, sessionStorage, and Service Workers. It provides code examples for each method, demonstrating how to store and retrieve data, as well as how Service Workers can cache assets for offline use. The conclusion highlights the simplicity of localStorage and sessionStorage compared to the advanced capabilities of Service Workers, which require HTTPS.

Uploaded by

sachin kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

To cache data in a webpage, you can use various methods, such as caching using

**localStorage**, **sessionStorage**, or **Service Workers** for advanced caching


techniques. Here's an example of how you can cache data in a webpage using
**localStorage** and **sessionStorage**:

### Example 1: Caching Data using **localStorage**

`localStorage` stores data without an expiration time, and the data persists even
after the browser is closed.

```html
<!DOCTYPE html>
<html>
<head>
<title>Cache Data using localStorage</title>
</head>
<body>

<h2>Store and Retrieve Data from Cache (localStorage)</h2>

<input type="text" id="inputData" placeholder="Enter some data">


<button onclick="storeData()">Store Data</button>
<button onclick="retrieveData()">Retrieve Data</button>

<p id="cachedData"></p>

<script>
function storeData() {
// Get the input value
var input = document.getElementById("inputData").value;

// Store data in localStorage


localStorage.setItem("cachedData", input);

// Display success message


alert("Data stored in cache.");
}

function retrieveData() {
// Retrieve data from localStorage
var cachedValue = localStorage.getItem("cachedData");

// Display the cached value


if (cachedValue) {
document.getElementById("cachedData").innerHTML = "Cached Data: " +
cachedValue;
} else {
document.getElementById("cachedData").innerHTML = "No data found in
cache.";
}
}
</script>

</body>
</html>
```

### Explanation:
- The user can input some data and click the "Store Data" button, which stores the
data in the browser's `localStorage`.
- When the "Retrieve Data" button is clicked, the data is fetched from
`localStorage` and displayed on the page.
- This data will persist even after the page is refreshed or the browser is closed
and reopened.

---

### Example 2: Caching Data using **sessionStorage**

`sessionStorage` stores data for the duration of the page session, meaning the data
will be cleared once the page is closed.

```html
<!DOCTYPE html>
<html>
<head>
<title>Cache Data using sessionStorage</title>
</head>
<body>

<h2>Store and Retrieve Data from Cache (sessionStorage)</h2>

<input type="text" id="inputData" placeholder="Enter some data">


<button onclick="storeData()">Store Data</button>
<button onclick="retrieveData()">Retrieve Data</button>

<p id="cachedData"></p>

<script>
function storeData() {
// Get the input value
var input = document.getElementById("inputData").value;

// Store data in sessionStorage


sessionStorage.setItem("cachedData", input);

// Display success message


alert("Data stored in session cache.");
}

function retrieveData() {
// Retrieve data from sessionStorage
var cachedValue = sessionStorage.getItem("cachedData");

// Display the cached value


if (cachedValue) {
document.getElementById("cachedData").innerHTML = "Cached Data: " +
cachedValue;
} else {
document.getElementById("cachedData").innerHTML = "No data found in
session cache.";
}
}
</script>

</body>
</html>
```
### Explanation:
- The `sessionStorage` method behaves similarly to `localStorage` but the data is
cleared when the browser tab is closed.
- The user can store data by clicking "Store Data," and retrieve it with "Retrieve
Data."

---

### Example 3: Caching Data using **Service Workers** (Advanced)

Service Workers are more advanced and can cache assets and data in the background
for offline use. Below is a basic example of a Service Worker that caches some
files.

```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Cache Data with Service Worker</title>
</head>
<body>
<h2>Service Worker Caching</h2>
<p>This page uses Service Workers to cache content for offline use.</p>

<script>
// Register Service Worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-
worker.js').then(function(registration) {
console.log('Service Worker Registered: ', registration);
}).catch(function(error) {
console.log('Service Worker Registration Failed: ', error);
});
}
</script>
</body>
</html>
```

And the `service-worker.js` file will look like this:

```javascript
// service-worker.js
const CACHE_NAME = 'my-cache-v1';
const urlsToCache = [
'/',
'/index.html',
'/style.css',
'/script.js'
];

// Install event: Caching assets


self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(CACHE_NAME)
.then((cache) => {
console.log('Caching assets');
return cache.addAll(urlsToCache);
})
);
});

// Fetch event: Serve cached assets if available


self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request)
.then((cachedResponse) => {
// Return cached data if available, otherwise fetch from network
return cachedResponse || fetch(event.request);
})
);
});
```

### Explanation:
- The Service Worker intercepts network requests and can cache specific files (like
HTML, CSS, and JS files).
- When the browser makes a request for these files, the Service Worker serves them
from the cache, ensuring that the page can be loaded offline.
- You need to serve your website over HTTPS for Service Workers to work.

---

### Conclusion:

- **localStorage** and **sessionStorage** are simple and effective methods to cache


small amounts of data for client-side use.
- **Service Workers** provide more advanced caching and offline capabilities for
websites, though they require HTTPS and more setup.

Let me know if you need more details or a specific implementation!

You might also like