Эквивалент 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 должна поддерживаться в любом браузере!