2009-03-18 3 views
1

Если бы я построил страницу, состоящую из IFrames по порядку сотен, это было бы невероятно медленным, или это будет похоже на то, что у вас есть сто div?Насколько эффективны IFrames?

Причина, по которой я спрашиваю, это поиск рекурсивного способа создания веб-страницы, где я могу загружать подэлементы страницы, как если бы они были полными страницами, с их собственными URL-адресами.

Мысли? Мнения? Неужели я совершенно безумный, чтобы даже думать об этом?

Редактировать: Я просто понял, что это, вероятно, полностью уничтожило бы сетевое соединение, потому что ему пришлось бы делать отдельные запросы для каждого внедренного фрейма, не так ли? И все, что я узнал о том, как сделать веб-страницы более эффективными для загрузки, заключается в сокращении количества HTTP-запросов, которые он должен выполнить.

+0

Просто голова. Большинство браузеров создают только 2 или 3 одновременных подключения и делают несколько запросов по одному и тому же соединению. –

+1

Я только что сделал тестовый html-файл с 1000 фреймами для удовольствия ... занял около 20-30 секунд, чтобы открыть и 30-45 секунд, чтобы стабилизировать ... все указывающие на Google. хе. –

+0

lol. Если мы пойдем на эффективность, это будет большая НЕИСПРАВНОСТЬ. :) Благодаря. – devios1

ответ

3

Да, действительно, браузер должен делать отдельные запросы для каждого встроенного iframe.

+0

Хорошо, что позаботится об этом. Мне придется искать другой способ сделать это на стороне сервера, а не на стороне браузера. – devios1

1

Это будет немного более эффективно, чем открытие сотен веб-браузеров, и только незначительно. Вы по-прежнему будете показывать страницы, которые вы загружаете в iframe, и это занимает память.

+0

Так что, даже если содержание IFrames было точно таким же, как размещение содержимого непосредственно в div, оно будет использовать больше памяти, потому что оно рассматривает его как совершенно отдельную страницу ... правильно? – devios1

+0

Да, новый объект Window для каждого iframe –

+0

Ну ... не обязательно - вы собираетесь вытащить содержимое страниц через javascript, а затем поместить его в div? Если это так, то различия в производительности, вероятно, будут незначительными. Ничего похожего на хороший тест, чтобы прояснить это, хотя L :) –

2

Это не связано исключительно с эффективностью, но есть также различные gotchas, такие как Body OnLoad, которые не срабатывают, пока каждый IFrame в иерархии страниц не будет полностью загружен первым.

Если вам нужны вещи внутри javascript IFrame, чтобы иметь возможность «вызывать» другой IFrame или главную страницу, это также может вызвать проблемы с ремонтопригодностью и возможностью чтения.

+0

Действительно, хороший момент. – devios1

0

Мне сложно общаться между iframes (например, в javascript). Вместо этого я предпочитаю divs, и вы можете использовать кеш-сервер, в котором он вам нужен. Возможно, решение, которое использует частичный рендеринг с Ajax, может быть более элегантным.

+0

Да, я думаю, что это маршрут, который я в конечном итоге возьму. – devios1

Смежные вопросы