2015-01-02 6 views
0

До тех пор, пока несколько недель назад все фреймы HTML, которые я связал с iFrame, будут отображаться внутри фрейма. Внезапно Chrome и Firefox теперь спросят меня, хочу ли я загрузить файл HTML в iFrame. Это сервер Apache, и я уверен, что он был обновлен в последнее время. Как он был обновлен, я не уверен. Мне было интересно, не связано ли это с тем, как некоторые типы MIME обрабатываются в iFrame.Почему мой файл HTML iFrame не отображается в строке? Вместо этого, файл HTML загружается

Примечание: Chrome и Firefox являются единственными браузерами, с которыми я тестировал это. Я не думаю, что это проблема с браузером.

+0

Таким образом, в принципе ничего не изменилось, за исключением того, что весь сервер был изменен ... это поможет сузить все. –

+0

Можете ли вы показать нам место, где это происходит, или разработать немного с примером кода? – Sampsa

+0

Что произойдет, если вы откроете URL-адрес iframe в панели addres на обычной вкладке? Кроме того, можете ли вы проверить инструменты разработчика браузера (вкладка «Сеть»), чтобы узнать, какой заголовок Content-Type имеет ответ iframe? – GolezTrol

ответ

0

Очень вероятно, что конфигурация MIME-типа уже не настроена должным образом на вашем сервере Apache. В большинстве случаев конфигурация сервера устанавливает тип mime возвращаемого объекта на основе запрашиваемого расширения файла. Если ваши расширения файлов изменились или вы используете динамические URL-адреса, которые не заканчиваются на «.docx»), например. которые обрабатываются промежуточным сервером приложений, чтобы вернуть файл, не устанавливая тип MIME, тогда браузер не знает, что такое содержимое, и правильно делает вывод, что самое лучшее, что нужно сделать, это просто предоставить вам содержимое в файл.

Итак ... установите расширение файла, который вы загружаете в .docx или .doc. Если вы используете конфигурацию Apache по умолчанию, это может сделать это. Если это не сработает, измените тип mime возвращаемого объекта на основе конфигурации фильтра URL в файле apache.conf или другом файле конфигурации apache. Или, если вы используете динамические URL-адреса, явным образом задаю тип mime в вашем коде для одного из следующих значений:

.doc - application/msword 
.dot - application/msword 
.docx - application/vnd.openxmlformats-officedocument.wordprocessingml.document 
.dotx - application/vnd.openxmlformats-officedocument.wordprocessingml.template 
.docm - application/vnd.ms-word.document.macroEnabled.12 
.dotm - application/vnd.ms-word.template.macroEnabled.12