что я должен задать в функции header() php в качестве типа содержимого веб-страницы, если это php файл, и имеет html, php, css и javascript?
header('Content-type: text/html; charset=utf-8');
потому что этот скрипт выше не работает, когда я просматриваю исходный код i-frame. javascript не включается, почему это происходит?
text/html
ваш код будет обработан во время выполнения и выводится как html.
Вы (предположительно) не доставляете PHP клиенту, а запускаете его на сервере для генерации некоторого вывода. Поскольку он не отправляется клиенту, вы не должны сообщать клиенту об этом.
Оставшийся контент не может быть просто "HTML + CSS + JS". Вероятно, у вас есть HTML со встроенными CSS и JS. Это HTML-документ. Типы встроенного контента описываются HTML.
Используйте тип содержимого text/html
(который вам не нужно указывать, потому что PHP по умолчанию выводит его, если вы не указали иначе).
нет тега тела
Итак, вы выводите фрагмент HTML, а не полный HTML-документ? Насколько мне известно, для этого нет стандартного типа MIME.
проблема в том, что javascript не распознается
Это почти наверняка связано с тем, как вы манипулируете исходным документом (предположительно используя innerHTML
(присваивание содержимого, включающего JavaScript для innerHTML, приводит к игнорированию JS)), то таким образом, как вы передаете данные в браузер.