Эквивалент include() в HTML

Мне было интересно, есть ли способ включить некоторый html-контент в другой html, используя только html?

Замена PHP

<?php include("file.php"); ?>

Возможно ли это?

EDIT:

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

Ответ 1

Это не может быть сделано исключительно с помощью HTML. (Есть iframe, однако, но я не думаю, что это соответствует в этом случае.)

Это можно сделать с помощью JavaScript. Вы получаете другой файл через Ajax и размещаете его содержимое внутри HTML-элемента на текущей странице.

Ответ 2

Вы пробовали:

<object type="text/html" data="file.html"></object>

Ответ 3

Бесстыдная вставка библиотеки, которую я написал, решила это.

https://github.com/LexmarkWeb/csi.js

<div data-include="/path/to/include.html"></div>

Вышеприведенное содержимое будет содержать /path/to/include.html и заменит его div.

Ответ 4

В HTML нет возможности включать дополнительный контент изначально. Однако на большинстве веб-серверов есть серверные заявления:
SSI в Apache
SSI в IIS

Ответ 5

единственное, что будет iframe, который является чистым html. но вы также можете использовать javascript, чтобы получить страницу через ajax и включить ее в свой hirarchy.

Ответ 6

Нет такой вещи. Вам нужно будет использовать серверный скриптовый язык или JavaScript, чтобы сделать что-то вроде этого.

Ответ 7

Да, но вам нужно включить его в свой config или .htaccess:

Options +Includes
AddType text/html .shtml
AddHandler server-parsed .shtml

Конечно, вам нужно переименовать любой файл, включив его в .shtml... или вы можете использовать:

Options +Includes
AddType text/html .html
AddHandler server-parsed .html

сам синтаксис похож на комментарий:

<!--#include virtual="/footer.html" -->

Ответ 8

Если вы используете Apache, вы можете попробовать Server Side Includes.

Ответ 9

Это может быть несколько лет спустя, но я так и сделал!

в первой строке после этой строки!

<SCRIPT LANGUAGE="JavaScript" src="http://yourdomain.com/header.js">

затем создайте файл с именем "header.js" и введите содержимое файла, который вы хотите включить! вроде так....

<!-- Begin
document.write('<center>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<hr>');
document.write('</center>');
// End -->

Надеюсь на эту помощь!

Ответ 10

Отсутствие Включить\Импорт в HTML действительно разочаровывает!

Хорошей альтернативой является "Включение на стороне сервера (SSI)" на случай, если "PHP" не поддерживается!

SSI поддерживается практически любым (если не всем) сервером веб-хостинга!

<!--#include virtual="layout.html" -->

Файл, содержащий вышеуказанную строку, должен заканчиваться расширениями ".shtml" или ".shtm"!


Это действительно раздражает, что что-то такое простое, как Include\Import, не может быть выполнено самим браузером!

Как и php или Node.js, предварительная обработка HTML с использованием самого Javascript перед запуском процесса загрузки HTML должна поддерживаться в любом браузере!