Как включить один файл HTML в другой?

Я пробовал все возможные вопросы здесь, в stackoverflow, но не смог решить эту проблему...

    <!--#include virtual="include.shtml"-->
    <!--#include virtual="include.html"-->
    <!--#include file="include.shtml"-->
    <!--#include file="include.html"-->
    <!--#include virtual="/include.shtml"-->
    <!--#include virtual="/include.html"-->
    <!--#include file="/include.shtml"-->
    <!--#include file="/include.html"-->
    <? include("/include.shtml"); ?>
    <? include("include.shtml"); ?>
    <? include("/include.html"); ?>
    <? include("include.html"); ?>

Я пробовал с сервером apache, работающим на localhost/include/index.html, или файл:///home/sahil/Desktop/include/index.html со всеми перечисленными выше, но ни один из них не работает для меня:(.Now какой метод я должен использовать, чтобы включить один файл HTML в другой, учитывая, что мои index.html и include.html оба находятся в одном каталоге???

Ответ 1

Предыдущий синтаксис SSI, последний PHP. Оба являются серверными технологиями и будут работать только при доступе с HTTP-сервера, который поддерживает и настроен для проверки файла для синтаксиса (что обычно означает, что вам нужно включить поддержку и использовать расширение .shtml/.php(или изменить config от значения по умолчанию, чтобы определить, какие файлы проверить)). Другие серверные технологии доступны.

Единственными "включенными" механизмами в самом HTML являются (i) frames и objects.

Вы также можете рассмотреть систему шаблонов, такую ​​как TT, которую вы могли бы выполнить как шаг сборки для создания статических HTML-документов (NB: TT также может использоваться на лету).

Ответ 2

HTML статический

Невозможно включить HTML-страницу в другую страницу HTML со статическим HTML, потому что она просто не поддерживается HTML. Чтобы сделать ваш динамический HTML, у вас есть 2 возможности: используйте клиентскую сторону script или используйте технологию на стороне сервера.

... Если вы не начнете использовать frames (сброшен с помощью стандарта HTML5) или iframes, которые, скорее всего, не будут решением из-за того, что он рассматривается как совершенно другая веб-страница.

Клиентское решение

Вы можете создать файл JavaScript и написать свой HTML с помощью document.write функции, а затем включить файл JavaScript, где бы он вам ни понадобился. Кроме того, вы можете использовать некоторые AJAX для этого, но есть библиотеки JavaScript, которые могут облегчить ваше бремя, например, популярную библиотеку jQuery.

Тем не менее, я бы не предложил использовать клиентское решение, потому что это больше проблем, чем того стоит...

Серверное решение

Существует множество решений на стороне сервера: ASP, ASP.NET, ASP.NET MVC, Java, PHP, Ruby, и список продолжается. Что вам нужно понять, так это то, что сервер боковой технологии может быть описан как синтаксический анализатор для определенного языка на стороне сервера для автоматизации некоторых утомительных задач и для выполнения действий, которые представляют угрозу безопасности для клиента.

Конечно, вам нужно будет иметь средства для размещения такого сайта и настройки среды размещения. Например, вы можете разместить веб-сайт PHP с Apache и даже иметь среду размещения разработчиков, такую ​​как/MAMP/LAMP/WAMP.

Вы можете просмотреть пример включения страницы в PHP в онлайн-документации .

Лично я был бы более склонен использовать решение на стороне сервера.

Ответ 3

В HTML нет механизма "include" - я не уверен, где вы видели эти решения в StackOverflow. Вероятно, вы искали ответы на серверный язык, такой как PHP или ASP.

У вас есть следующие опции для "чистого" HTML, где у вас есть только статические страницы и JavaScript:

  • Фреймы
  • Ajax

См. мой ответ здесь для примера кода и более подробной информации (а также предостережение о SEO, если это важно для вас).

Ответ 4

Сделайте свой html файл, который вы хотите включить в файл php. (только изменить расширение - на .php). Если файлы находятся в одном каталоге, включите код:

<?php include "nameoffile.php" ?>