Tenía una aplicación django que usaba un iframe para mostrar un pdf almacenado en mi máquina local, algo como esto:
<embed src="path_to_file.pdf" type="application/pdf">Todo funcionó bien en todos los navegadores compatibles... Hasta hoy.
La aplicación dejó de funcionar repentinamente en Chrome y la consola muestra el mensaje Se negó a mostrar 'path_to_file.pdf' en un marco porque configuró 'X-Frame-Options' en 'denegar' .
En otros navegadores sigue funcionando como de costumbre. No sé si Chrome acaba de realizar una actualización o qué cambió, pero ya no funciona. ¡Cualquier ayuda sería apreciada!
Después de analizar muchas preguntas similares y probar muchas cosas diferentes, finalmente encontré una solución para mi problema gracias a la documentación de django .
Desde Django 3.0. El valor predeterminado de la configuración X_FRAME_OPTIONS se cambió de SAMEORIGIN a DENY .
Así que solo tuve que agregar X_FRAME_OPTIONS = 'SAMEORIGIN' a settings.py y el problema desapareció.
Todavía no sé qué cambio hizo que mi código dejara de funcionar porque ya usé la versión django 3.0 desde que se lanzó, probablemente fue una actualización de Chrome.
Grabando un incidente aquí específicamente con un video incrustado de Vimeo. Necesitaba establecer SECURE_REFERRER_POLICY en None . El valor predeterminado se cambió en Django 3.1 .