Включить html файл в html с помощью html5
У меня есть 2 файла HTML, предположим a.html
и b.html
. В a.html
я хочу включить b.html
.
В JSF я могу сделать это так:
<ui:include src="b.xhtml" />
Это означает, что внутри файла a.xhtml
я могу включить b.xhtml
.
Как мы можем сделать это в файле *.html
?
с помощью html 5 (если это вообще можно сделать в html 5).
Ответы
Ответ 1
Удивительно, но был задан тот же вопрос, и это возможно: HTML5 включает файл
Ответ Рафы:
Используйте тег object:
<object name="foo" type="text/html" data="foo.inc"></object>
foo.inc должен включать допустимый HTML.
Я тестировал его на Konqueror, Firefox и Chromium.
Обратите внимание, что вы должны использовать отдельный тег </object>
, иначе любой контент после его отбрасывания.
Если вы сочтете это полезным (я делаю), пожалуйста, поддержите ответ Рафы (не мой), потому что "это невозможно" распространяется как болезнь.
Ответ 2
Если ваш сервер поддерживает SSI (на стороне сервера), вы можете поместить следующее в свои html файлы, не требуя языка сценариев или что-то еще. Apache имеет SSI включен по умолчанию (я думаю?)
<!--#include file="same_path_file.html" -->
<!--#include virtual="docroot_file.html" -->
"файл" относится к текущему файлу и, вероятно, к тому, что вы будете использовать для включения связанных файлов, таких как "actual_article_poll.html".
"виртуальный" относится к корню документа (т.е. к корню вашего сайта), и вы будете использовать его для включения глобальных файлов, таких как верхние и нижние колонтитулы.
Не имеет значения, какой из них вы выберете, но полезно знать разницу между ними.
Кроме того, директива include делает новый внутренний HTTP-запрос для сервера для каждого файла, поэтому вы можете включить php файлы и подобные, и они будут выполнены так, как они должны.
Вот полезный обзор SSI: http://en.wikipedia.org/wiki/Server_Side_Includes
Ответ 3
Чтобы использовать функцию включения PHP в HTML5, вам просто нужно отредактировать файл .htaccess следующим образом:
<Files *.html>
ForceType application/x-httpd-php
</Files>
Теперь вы можете использовать любой PHP-код в вашем html файле следующим образом:
<?php include 'menu.html'; ?>
Приветствия;)
Ответ 4
HTML5 не отличается от HTML 4.01 в этом смысле тем, что это просто невозможно сделать без каких-либо скриптов.