Подтвердить что ты не робот

Альтернатива для фреймов в html5 с использованием iframes

Я новичок в HTML5, и я провел некоторое исследование и выяснил, что использование <frameset> устарело и из того, что я читал <iframes>, нет. Так кто-то может мне помочь, я хочу получить тот же результат, что и показанный пример, но при использовании <iframes> или другой подстановки для <frameset>, которая не устарела в HTLM5?

<frameset cols="20%,*,">
    <frame src="menu.html">
    <frame src="events.html">
</frameset> 
4b9b3361

Ответ 1

Фреймы устарели, потому что они вызвали проблемы для навигации по URL и гиперссылки, потому что URL-адрес просто достал вам страницу индекса (с набором фреймов), и не было никакого способа указать, что было в каждом окне окна. Сегодня веб-страницы часто генерируются такими серверными технологиями, как PHP, ASP.NET, Ruby и т.д. Поэтому вместо использования фреймов страницы могут быть сгенерированы простым слиянием шаблона с контентом следующим образом:

Файл шаблона

<html>
<head>
<title>{insert script variable for title}</title>
</head>

<body>
  <div class="menu">
   {menu items inserted here by server-side scripting}
  </div>
  <div class="main-content">
   {main content inserted here by server-side scripting}
  </div>
</body>
</html>

Если у вас нет полной поддержки серверного языка сценариев, вы также можете использовать серверную часть (SSI). Это позволит вам сделать то же самое - т.е. создать единую веб-страницу из нескольких исходных документов.

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

Вы можете эмулировать свой пример следующим образом:

Пример фреймов

<html>
<head>
  <title>Frames Test</title>
  <style>
   .menu {
      float:left;
      width:20%;
      height:80%;
    }
    .mainContent {
      float:left;
      width:75%;
      height:80%;
    }
  </style>
</head>
<body>
  <iframe class="menu" src="menu.html"></iframe>
  <iframe class="mainContent" src="events.html"></iframe>
</body>
</html>

Есть, вероятно, лучшие способы достижения макета. Я использовал атрибут CSS float, но вы также можете использовать таблицы или другие методы.

Ответ 2

Пока я согласен со всеми, если вы все равно настроены на использование фреймов, вы можете просто сделать index.html в XHTML, а затем сделать содержимое фреймов в HTML5.

Ответ 3

HTML 5 поддерживает фреймы. Было добавлено несколько интересных атрибутов, таких как "песочница" и "srcdoc".

http://www.w3schools.com/html5/tag_iframe.asp

или вы можете использовать

<object data="framed.html" type="text/html"><p>This is the fallback code!</p></object>