Как добавить HTML-код в файл .html из другого файла? - PullRequest
2 голосов
/ 13 июня 2011

Я хотел бы ввести некоторый код, например, меню в HTML из другого файла, чтобы я мог редактировать это меню, и тогда все меню для всех сайтов изменятся, поскольку они будут связаны с этой страницей.Есть ли способ сделать это без создания всех страниц .php?

Ответы [ 6 ]

3 голосов
/ 13 июня 2011

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

Например (используя jQuery, потому что здесь проще выписать):

$.get('page2.html', function(data) { $('#whereToPutContent').html(data); });

1 голос
/ 13 июня 2011

Да, это возможно с фреймами или AJAX (используйте <script src>). Однако фреймы устарели, и AJAX надежен только в том случае, если в браузере включен JavaScript.

Таким образом, PHP является (единственным) решением здесь. Вот четыре варианта:

<?php
include 'menu.html';
require 'menu.html';
include_once 'menu.html';
require_once 'menu.html';
?>

Возможно, вы захотите использовать include_once для меню, чтобы оно включалось только один раз. Или, если вы уверены, что он включен только один раз, вы можете просто использовать include. require останавливает скрипт, если он не может найти файл, так что это, вероятно, не то, что вы хотите.

1 голос
/ 13 июня 2011

Вам не нужно делать все страницы в php.Пока на странице, которую вы собираетесь включить, нет php-кода, это может быть чистый html, txt или любой другой.Включение ДОЛЖНО быть на странице php, вот и все.

Итак, на вашей странице PHP просто используйте include (или require) и все готово.Например:

<?php 
include ('menu.html');
?>
0 голосов
/ 13 июня 2011

Вы можете использовать серверные включения (SSI):

include ./include/include.html

или

include ./include/include.ssi

или

include ./include/include.shtml


iframes:

<iframe src="http://website.com/index.html">
    <p>Your browser does not support iframes.</p>
  </iframe>

или JavaScript (AJAX):

ШАГ 1: добавить код в HTML-файл

<script language="JavaScript" SRC="http://yourwebsite.com/js/file.js"></script>

ШАГ 2: настроить сервер [apache], добавив его в файл .htaccess. Добавьте эту строку:

AddType application/x-javascript .js

0 голосов
/ 13 июня 2011

вы можете динамически отображать меню (или что угодно) с помощью JavaScript.

0 голосов
/ 13 июня 2011

Страницы, включая страницу меню, должны быть PHP, да, сама страница меню не должна быть.Для этого вы можете использовать: include ()

include './file.html';
...