APIs Web

Frontend SELF ES
Nivel 46 , Lección 2
Disponible

7.1 Geolocation API

Web APIs (Web Application Programming Interfaces) proporcionan capacidades serias para la interacción de las aplicaciones web con la funcionalidad del navegador y el dispositivo del usuario. Vamos a revisar algunos de estos API, incluyendo Geolocation y Notifications, así como su uso.

El Geolocation API permite a una aplicación web obtener la ubicación geográfica del dispositivo del usuario. Esto puede ser útil para varias aplicaciones, como mapas, navegación y geotargeting.

Solicitar permiso para acceder a la ubicación

Para usar el Geolocation API, la aplicación web debe solicitar permiso al usuario para acceder a su ubicación. Esto se hace usando el método navigator.geolocation.getCurrentPosition().

Ejemplo de uso de Geolocation API:

JavaScript
    
      if ('geolocation' in navigator) {
        navigator.geolocation.getCurrentPosition(
          (position) => {
            const { latitude, longitude } = position.coords;
            console.log(`Latitude: ${latitude}, Longitude: ${longitude}`);
          },
          (error) => {
            console.error('Error obteniendo la geolocalización:', error);
          },
          {
            enableHighAccuracy: true, // Alta precisión
            timeout: 5000, // Tiempo de espera de respuesta (ms)
            maximumAge: 0 // Tiempo máximo que se pueden usar los datos en caché (ms)
          }
        );
      } else {
        console.log('Geolocation no es compatible con este navegador.');
      }
    
  

Seguimiento de la ubicación

El método navigator.geolocation.watchPosition() permite seguir los cambios en la ubicación del usuario.

Ejemplo de seguimiento de la ubicación:

JavaScript
    
      let watchId;

      if ('geolocation' in navigator) {
        watchId = navigator.geolocation.watchPosition(
          (position) => {
            const { latitude, longitude } = position.coords;
            console.log(`Latitude: ${latitude}, Longitude: ${longitude}`);
          },
          (error) => {
            console.error('Error obteniendo la geolocalización:', error);
          },
          {
            enableHighAccuracy: true,
            timeout: 5000,
            maximumAge: 0
          }
        );
      }

      // Detener el seguimiento de la ubicación
      function stopTracking() {
        if (watchId) {
          navigator.geolocation.clearWatch(watchId);
        }
      }
    
  

7.2 Notifications API

Notifications API permite a una aplicación web mostrar notificaciones en el sistema del usuario. Esto es útil para captar la atención del usuario hacia eventos importantes, incluso si la pestaña del navegador no está activa.

Solicitar permiso para enviar notificaciones

Para usar el Notifications API, la aplicación web debe solicitar permiso al usuario para enviar notificaciones.

Ejemplo de solicitud de permiso:

JavaScript
    
      if ('Notification' in window) {
        Notification.requestPermission().then((permission) => {
          if (permission === 'granted') {
            console.log('Permiso de notificación concedido.');
          } else {
            console.log('Permiso de notificación denegado.');
          }
        });
      } else {
        console.log('Las notificaciones no son compatibles con este navegador.');
      }
    
  

Enviando notificaciones

Una vez obtenido el permiso, se pueden enviar notificaciones usando el constructor Notification

Ejemplo de envío de notificación:

JavaScript
    
      if (Notification.permission === 'granted') {
        const options = {
          body: 'Este es el cuerpo de una notificación',
          icon: 'icon.png',
          data: { url: 'https://example.com' }
        };
        const notification = new Notification('¡Hola, mundo!', options);

        // Manejar el clic en la notificación
        notification.onclick = (event) => {
          event.preventDefault(); // Previene la acción de redirección por defecto
          window.open(notification.data.url, '_blank');
        };
      }
    
  

7.3 Otros Web API útiles

1. DeviceOrientation API

DeviceOrientation API permite obtener datos sobre la orientación del dispositivo en el espacio.

Ejemplo de uso de DeviceOrientation API:

JavaScript
    
      window.addEventListener('deviceorientation', (event) => {
        console.log(`Alpha: ${event.alpha}, Beta: ${event.beta}, Gamma: ${event.gamma}`);
      });
    
  

2. Battery Status API

Battery Status API proporciona información sobre el estado de la batería del dispositivo.

Ejemplo de uso de Battery Status API:

JavaScript
    
      navigator.getBattery().then((battery) => {
        console.log(`Nivel de batería: ${battery.level * 100}%`);
        console.log(`Cargando batería: ${battery.charging}`);

        battery.addEventListener('levelchange', () => {
          console.log(`Nivel de batería cambiado: ${battery.level * 100}%`);
        });

        battery.addEventListener('chargingchange', () => {
          console.log(`Estado de carga de la batería cambiado: ${battery.charging}`);
        });
      });
    
  

3. Fullscreen API

Fullscreen API permite cambiar una página web a modo pantalla completa.

Ejemplo de uso de Fullscreen API:

JavaScript
    
      const element = document.documentElement; // Todo el documento

      function toggleFullScreen() {
        if (!document.fullscreenElement) {
          element.requestFullscreen().catch((err) => {
            console.error(`Error al intentar activar el modo de pantalla completa: ${err.message}`);
          });
        } else {
          document.exitFullscreen();
        }
      }

      document.getElementById('fullscreenButton').addEventListener('click', toggleFullScreen);
    
  
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION