Introduction to MDN Browser Compatibility Data
The MDN Browser Compatibility Data provides developers with detailed information on how various web APIs are supported across major web browsers. This invaluable resource helps ensure that web applications work seamlessly across different environments.
API Examples and Usage
1. Fetch API
The Fetch API provides a modern way to make network requests similar to XMLHttpRequest. Using fetch is simple and cleaner than the traditional methods.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
2. Geolocation API
The Geolocation API allows the user to provide their location to web applications, if they consent.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(position => {
console.log('Latitude:', position.coords.latitude);
console.log('Longitude:', position.coords.longitude);
});
} else {
console.log('Geolocation is not supported by this browser.');
}
3. Web Storage API
The Web Storage API provides mechanisms by which browsers can store key/value pairs, for example through localStorage and sessionStorage.
// Store data localStorage.setItem('key', 'value'); // Retrieve data const value = localStorage.getItem('key'); console.log(value);
4. Service Workers API
Service Workers allow you to intercept network requests and cache responses, providing offline access to an application.
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(registration => {
console.log('Service Worker registered with scope:', registration.scope);
})
.catch(error => {
console.error('Service Worker registration failed:', error);
});
}
5. Notifications API
The Notifications API lets you display notifications to the user outside the context of a web page.
if ('Notification' in window && Notification.permission === 'granted') {
new Notification('Hello, World!');
}
Example Application Using Introduced APIs
Below is a simplified example of a weather web application leveraging geolocation to fetch weather data and storing settings in local storage.
// Check for geolocation support if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(position => {
const { latitude, longitude } = position.coords;
fetch(`https://api.weather.com/v3/wx/forecast?geocode=${latitude},${longitude}&format=json`)
.then(response => response.json())
.then(data => {
document.getElementById('weather').innerText = `Temperature: ${data.temperature}°C`;
localStorage.setItem('lastWeather', JSON.stringify(data));
});
});
} else {
console.log('Geolocation is not supported by this browser.');
}
// Show notification if weather data is updated if ('Notification' in window && Notification.permission === 'granted') {
new Notification('Weather data updated!');
}
By leveraging the above APIs, you can create powerful web applications with enhanced capabilities and improved user experiences.
Hash: 4e85034850ae9e827d13aa514f75a297e488d58a782bff60db4bdbca0f48dd16