Загрузка тела html-страницы на другую страницу без ajax - PullRequest
0 голосов
/ 23 февраля 2012

Я хочу создать страницу с нижним колонтитулом и некоторыми общими частями.

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

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

Есть ли другой способ добиться этого с помощью простого JS?

Спасибо

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Вы просто отлично описали кадры. Есть ли какая-то причина, по которой вы их не используете (кроме «фреймы плохие, ладно?»).

0 голосов
/ 23 февраля 2012

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

Если вам нужно нацелиться на определенный кадр, который имеет известную высоту и ширину и не соответствует структуре наборов кадров, вы можете использовать iframes и изменить его атрибут src с помощью javascript.

<iframe id="myframe" height="400" width="500" />
<script type="text/javascript">
  document.getElementByID('myframe').src = 'somelocalfile.html';
</script>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...