Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

255
Vistas
No se puede acceder a cssRules para Stylesheet CORS

Así que he estado leyendo que no puede acceder a cssRules para hojas de estilo externas porque se encuentra con problemas de política de CORS.

Decidí adoptar un enfoque diferente, pero sigo teniendo problemas.

Mi acercamiento:

  1. Descargue los archivos css en el backend y cárguelos en S3 Bucket
  2. Devuelve un enlace existente y un nuevo enlace para fines de coincidencia
  3. Elimine la etiqueta de link existente y agregue una nueva etiqueta que apunte a mi CDN
  4. Acceder a document.styleSheets
  5. Tadaaaa (pero esto falla)

Lo que estoy tratando de averiguar es por qué sigo teniendo problemas si mi CDN permite el acceso desde cualquier origen.

 export default () => { const payload = [...document.styleSheets].filter(s => s.href).map(s => s.href); axios.post('SOME ENDPOINT', { css: payload }).then(({ status, data: { data: newLinks } }) => { if (status === 200) { for (const i in newLinks) { document.querySelector(`link[href="${newLinks[i].source}"]`).remove() const stylesheet = document.createElement('link'); stylesheet.rel = 'stylesheet'; stylesheet.href = newLinks[i].downloaded; document.getElementsByTagName('head')[0].appendChild(stylesheet); } } }).then(() => { let delay = 250 setTimeout(() => { console.log('Stylesheets with Removed Links', [...document.styleSheets]); }, delay) }).then(() => { console.log([...document.styleSheets]) }) }

hojas de estilo

CORAZÓN S3

Error en Safari SecurityError: Not allowed to access cross-origin stylesheet

He visto este enlace No puedo acceder a cssRules desde un archivo css local en Chrome 64

Resultado de la pestaña Red

Solicitud de red

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Terminé encontrando una solución...

Todo gracias a Paulo Belo desde este enlace DOMException no detectada: no se pudo leer la propiedad 'cssRules'

stylesheet.crossOrigin = "anonymous" resolvió mi problema dándome acceso a cssRules.

ingrese la descripción de la imagen aquí https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin

Tenga en cuenta que esta solución no funciona con las hojas de estilo existentes que arrojan este error.

Exception: DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules at CSSStyleSheet.s

Esta solución solo funciona para sus propias hojas cargadas o, en mi caso, las de mi CDN.

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda