Есть ли HTML-вариант require_once? - PullRequest
2 голосов
/ 28 января 2012

В HTML есть такая строка кода, которая будет делать то же самое, что и PHP require_once? Мне просто любопытно, потому что есть несколько строк кодов, которые я хочу дублировать на нескольких листах, не требуя, чтобы я набирал их на каждой странице.

Я знаю, что могу сделать это через PHP, но я ищу вариант HTML? Есть ли такой зверь или я лаю не на том дереве?

Ответы [ 4 ]

4 голосов
/ 28 января 2012

Это зависит от того, что вы хотите включить. Включение PHP-файла невозможно, если вы хотите включить таблицу стилей CSS, используйте:

<link rel="stylesheet" type="text/css" href="yourstylefile.css" />

и для файла Javascript

<script type="text/javascript" src="yourscriptfile.js"></script>

Конечно, вы должны поместить этот код между тегами заголовка.

2 голосов
/ 28 января 2012

Нет, в HTML нет механизма включения.Если не считать SSI.

Редактировать: подождите, "листы"?Вы имеете в виду CSS?

1 голос
/ 28 января 2012

Да, SSI - самое близкое, что вы собираетесь получить. Тем не менее, существует множество не серверных способов обойти это. Несколько приложений веб-разработки имеют системы шаблонов HTML, которые копируют серверные включения на стороне разработки. Например, Dreamweaver позволяет вставлять повторяющиеся области в шаблоны HTML. Когда вы изменяете «включенный» файл, Dreamweaver изменяет все HTML-файлы, которые используют этот блок. Поскольку это не настоящее включение, а скорее система обновления HTML, вам придется повторно загрузить эти файлы, если вы используете удаленный сервер, но если вам нужно придерживаться простого HTML, это может сделать проекты намного более управляемыми и намного лучше, чем использование iframes.

Наконец, есть также возможность заставить Javascript создавать повторяющийся блок кода. Вы можете просто включить общую библиотеку javascript на каждую страницу <script type="text/javascript" src="templater.js"></script> и заставить ее создавать элемент на стороне клиента (либо с помощью вызова innerHTML, либо вставляя элементы в DOM). Это имеет очевидный недостаток, что

  1. Для работы требуется Javascript
  2. Это может привести к сбою SEO
  3. Это может замедлить загрузку страниц (во всяком случае, на стороне клиента)

Использование правильного включения в язык на стороне сервера, конечно, лучший подход, но в крайнем случае это обе потенциальные альтернативы.

0 голосов
/ 28 января 2012

Технически вы можете создать на своей странице iframe, который будет загружать и обрабатывать отдельную страницу, но он не функционирует как один раз включить или потребовать.И этому я не знаю альтернатив.

...