Отказался отображать тег iframe или встроить в django 3.0 и chrome

У меня было приложение django, которое использовало iframe для отображения pdf-файла, хранящегося на моей локальной машине, примерно так:

<embed src="path_to_file.pdf" type="application/pdf">

Все отлично работало во всех поддерживаемых браузерах... До сегодняшнего дня.

Приложение внезапно перестало работать в Chrome, и в консоли отображается сообщение Отказано в отображении «path_to_file.pdf» во фрейме, так как для параметра «X-Frame-Options» задано значение «запретить».

В других браузерах все работает как обычно. Я не знаю, сделал ли Chrome только что обновление или что-то изменилось, но он больше не работает. ¡Любая помощь будет оценена по достоинству!


person Manuel Montoya    schedule 15.04.2020    source источник


Ответы (1)


Изучив множество похожих вопросов и перепробовав множество разных вещей, я наконец нашел решение своей проблемы благодаря документация по django.

Начиная с Джанго 3.0. Значение по умолчанию параметра X_FRAME_OPTIONS было изменено с SAMEORIGIN на DENY.

Так что мне просто нужно было добавить X_FRAME_OPTIONS = 'SAMEORIGIN' в settings.py, и проблема исчезла.

Я до сих пор не знаю, что изменило мой код, потому что я уже использовал версию django 3.0 с момента ее выпуска, возможно, это было обновление Chrome.

person Manuel Montoya    schedule 15.04.2020
comment
Спасибо, Мануэль Монтойя, ваше решение сработало для меня. - person Darsh Modi; 24.05.2021