Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/05/2021, 19:21
prueba230683
 
Fecha de Ingreso: abril-2011
Mensajes: 170
Antigüedad: 13 años
Puntos: 68
Respuesta: cómo pasar el valor de un "[object Promise]" a una variable?

La API de acceso a fuentes es una feature experimental, y por tanto no está soportada en Chrome a menos que la actives manualmente desde chrome://flags/#font-access. Debes ponerla en "Enabled" y reiniciar chrome. Depués comprobarás que sí te pide el permiso correctamente para acceder a tus fuentes, que deberás aceptar:

Código HTML:
<script>
const getInstalledFonts = async () => {
	const { state } = await navigator.permissions.query({ name: "font-access" })
	if (state === "denied") {
		return []
		}
	const fonts = []
	try {
		for (const { family, fullName } of await navigator.fonts.query()) {
			fonts.push({ family, fullName })
			}
		} catch {}
	return fonts;
}

function getFonts(){
    getInstalledFonts().then((res) => {
          console.log(res);
    })
}
</script>
<body onload="getFonts()"> 
Si abres la consola de tu navegador verás que efectivamente salen todas las fuentes que estás utilizando.

De todas formas, es un API no estándar que todavía no está implementada en la mayoría de navegadores.

Saludos

Última edición por prueba230683; 16/05/2021 a las 19:35