Chrome 120 ya está disponible en versión beta y incluye muchas actualizaciones interesantes para los desarrolladores de extensiones de Chrome.
Este fue un año muy ocupado para el equipo de Extensiones de Chrome. Con el lanzamiento de la versión beta de Chrome 120 de ayer, la plataforma de extensiones da otro gran paso hacia adelante. Para obtener una descripción general de lo que sucedió este año, consulta nuestras actualizaciones trimestrales de julio y octubre. Sigue leyendo para conocer las novedades de Chrome 120 para extensiones.
Cómo cerrar la brecha de plataformas
Con el lanzamiento de Chrome 120, cerraremos las brechas de plataforma restantes que se enumeran en nuestra página de problemas conocidos de Manifest V3. La nueva API de userScript, así como la compatibilidad con el manejo de archivos en ChromeOS, fueron los dos elementos restantes de la lista que ahora podemos tachar. Junto con los cambios descritos en la actualización trimestral anterior, estamos muy contentos con el estado actual de la plataforma de extensiones de Chrome y con lo que logramos durante el último año.
Nueva API de userScripts
Ya está disponible la compatibilidad con secuencias de comandos de usuario. Las secuencias de comandos del usuario son fragmentos de código (por lo general, relativamente pequeños) que las extensiones pueden insertar en páginas web para modificar su apariencia o comportamiento. El usuario puede crearlas directamente o descubrirlas en varios repositorios de secuencias de comandos de usuario en la Web. A partir de Chrome 120, las extensiones de Manifest V3 ahora pueden administrar la recopilación de secuencias de comandos de usuario y determinar cuándo y cómo insertarlas en páginas web.
Hay una diferencia significativa entre la compatibilidad con secuencias de comandos de usuario en Manifest V2 y Manifest V3. Dado que las secuencias de comandos del usuario son potentes y requieren una gran confianza en el autor, el equipo de Chrome decidió que los usuarios deben habilitar el modo de desarrollador antes de poder ejecutarlas.
Nuestro nuevo ejemplo de userScript demuestra un enfoque simple para detectar si el modo de desarrollador está habilitado y proporcionar un flujo de integración simple.
Para comenzar, consulta la documentación o el ejemplo oficial.
Límites más altos para los conjuntos de reglas de DNR estáticos
Aumentamos significativamente el límite de conjuntos de reglas estáticas habilitados de 10 a 50. Además, aumentamos de 50 a 100 la cantidad total de conjuntos de reglas estáticos permitidos. Esto es en respuesta a los comentarios que recibimos en el grupo de la comunidad de extensiones web.
Nueva API de ReadingList
Chrome presentó la lista de lectura en 2021. El año pasado, el equipo de Chrome facilitó aún más el acceso a la lista de lectura a través del panel lateral. Con Chrome 120, agregamos la capacidad de que las extensiones de Chrome creen, lean, actualicen y borren entradas de listas de lectura. Para obtener más información, consulta los documentos de la API y nuestro nuevo ejemplo.
Manejo de archivos en ChromeOS
El manejo de archivos permite que las extensiones abran archivos con tipos y extensiones de MIME especificados de manera similar al manejo de archivos de la plataforma web. Consulta Control de archivos en ChromeOS para obtener más información sobre cómo usarlo.
Activar una alarma en 30 segundos
Esta es una actualización pequeña, pero aborda una brecha importante en el ciclo de vida del servicio de trabajo. Debido a la naturaleza basada en eventos de los trabajadores del servicio, la forma recomendada de activar un evento en el futuro es usar chrome.alarms
. La API de Alarms garantiza que se active el evento incluso si el trabajador de servicio se cierra mientras tanto.
Sin embargo, hay un inconveniente. Antes de Chrome 120, el período más corto para activar una alarma era de un minuto. Sin embargo, los trabajadores del servicio se cierran después de 30 segundos de inactividad. Por lo tanto, no había una forma sencilla de programar una alarma para que se active en 45 segundos, ya que, cuando se usa setTimeout()
para establecer un evento en 45 segundos, el trabajador de servicio podría cerrarse antes de que se active el evento.
A partir de Chrome 120, puedes activar un evento en las siguientes ubicaciones:
- menos de 30 segundos con
setTimeout()
- Cualquier elemento de más de 30 segundos o igual a este con
chrome.alarms
:
await chrome.alarms.create('demo-default-alarm', {
periodInMinutes: 0.45
});
Resumen
Nos entusiasma el progreso que ha logrado la plataforma de extensiones en el último año. Chrome 120 es otro gran paso con el aumento de los límites de DNR y la compatibilidad con las secuencias de comandos de usuario.