Еще одним следствием использования iframes является то, что рендеринг может быть не в порядке, поскольку это независимый HTTP-запрос, и, поскольку это дополнительный запрос, это может увеличить общее время поиска данных, особенно в IE.версии до 8, где они были ограничены 2 одновременными HTTP-запросами одновременно - поэтому, если у вас одновременно загружаются изображения или другие сценарии, некоторые из них могут быть поставлены в очередь до тех пор, пока один или оба из этих двух слотов не освободятся.IE8 (и Firefox) увеличили это значение до 6.
Хотя кажется, что реальным решением является их исправление скрипта Commentics или поиск другой библиотеки, несмотря на все советы, которые вы, вероятно, найдете здесь наоборот (хотяпо веским причинам, конечно), для начинающих я рекомендую сосредоточиться на практичности и экспериментах, а не на догмах;другими словами, это может сработать для вас, если в фреймах нет ссылок, которые, если щелкнуть по ним, приведут только к замене фрейма контентом.Хотя это и не рекомендуется, по причинам, о которых я и другие упоминали.
Другая проблема, на которую следует обратить внимание, заключается в том, что даже малейший пробел перед вашим началом <?php
интерпретируется как текст, отправляемый пользователю, так что еслиinclude пытается добавить заголовки, у вас могут возникнуть проблемы.Сообщение о том, что заголовки уже отправлены, означает, что скрипт начал отправлять заголовки, поскольку ему нужно было отправить их перед началом отправки содержимого (в данном случае, пробела), которое вы уже начали печатать (без буферизации).
Для PHP я действительно рекомендую шаблонизатор, такой как Smarty (и Smarty хорошо документирован), где вы освоитесь с шаблоном, позволяющим сначала запустить вашу бизнес-логику, а затем предоставьте переменные для логики проектирования для использования там (в настоящее время это вашеHTML + включает в себя).Когда вы включаете другие библиотеки, которые выводят текст, вам все равно придется использовать буферизацию по тем причинам, которые вы обнаружили.