Jump to content
  • 0

Master pages в чистом HTML


Webr
 Share

Question

Есть ли способ создать Master pages (шаблоны страниц, повторяющие дизайн для каждой страницы) при помощи чистого HTML, без SSI, ASP.NET, PHP или JavaScript ?

Нужно для мини-сервера, который может только отдавать файлы и больше ничего.

Edited by Webr
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Выходит, что нет такой возможности, и вот почему:

Фреймы относительно Master Page - закостенелый вариант. С помощью Master Page получается целостная страница. С помощью HTML Master Page могла бы получаться страница из двух частей, но тоже целостная в контексте DOM. С помощью фреймов получается тяжёлый дизайн - можно вставить документы в некоторые области, и эти документы будут прогручиваться в своих окошках, тогда как документ, полученный с помощью Master Page, выглядит монолитным, и прокручивается весь целиком.

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

Во фреймах при работе с DOM приходится продираться через границу фрейма, а с помощью Master Pages документ монолитен.

А IFRAME делает по отношению к мастер-пейджам всё с точностью до наоборот, т.е. мы выбираем не контейнер, а содержимое. Плюс к тому IFRAME опять работает в "очке", а не прозрачно вставляет своё содержимое, раздвигая существующий дизайн.

В обоих этих вариантах - FRAME и IFRAME - устанавливаются отношения между страницами, где включающая страница определяет своё содержимое, а нужно чтобы включаемая страница определяла свой контейнер.

Link to comment
Share on other sites

  • 0

А чем яваскрипт (а то и аякс) противоречит способности сервера "отдавать файлы и больше ничего"? Что мешает всунуть 10-20 строк JS-кода в разметку основного шаблона?

Во-первых тем, что JS можно и отключить, а во-вторых - тем, что это 10-20 строк кода, специфичного для конкретного сайта, а то и страницы. Плюс не всегда для каждого нового сайта с ходу вспомнишь как его написать. Плюс война браузеров, в каждом из которых своя реализация JS, и я подозреваю, что 10-20 строк кода разрастутся в целях поддержки всех браузеров. Короче, тянет на написание фреймворка.

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

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

Чистый html это всего лишь разметка страницы, большего она не умела не умеет и вряд ли в скором времени будет уметь

Но IFRAME то может включать один документ в другой. Так что очень даже умеет. Только документ-контейнер и документ в IFRAME не становятся единым документом. У них даже в DOM разные области памяти и разные деревья.

Как пример монолитности при физически разных файлах - это CSS или JavaScript. Если подключить внешний CSS-файл, то потом он для браузера сольётся с документом, и браузеру уже не будет различать CSS из внешнего файла и CSS из тега STYLE в заголовке самого документа. То же и с JS: становится без разницы, то ли это скрипт из внешнего файла, то ли из инлайнового тега SCRIPT.

Edited by Webr
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy