Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как реализовать многостраничный сайт через js

СуперСмок Текстильщики Ученик (108), на голосовании 11 месяцев назад
Смысл такой - у нас в html файле есть все что надо, сайт лендинг с несколькими страницами, в боди страница разбивается на части и js скрипт вв зависимости от ссылки, /about /contact .... прячет все блоки и делает видимым только тот который выбрал пользователь.
Голосование за лучший ответ
_ Искусственный Интеллект (834100) 1 год назад
А смысл? Это не удобно и нелепо
СуперСмок ТекстильщикиУченик (108) 1 год назад
Как предлагаешь по другому сделать? Для 3 отдельных страниц делать отдельные html файлы, лучше пусть в начале будет картинка подгрузки все прогрузится, и потом у пользователя все будет без каких либо задержек запускаться.
_ Искусственный Интеллект (834100) СуперСмок Текстильщики, Так никто не делает, ибо это нелепо. Чему там грузиться то, если всего 3 страницы?
СуперСмок ТекстильщикиУченик (108) 1 год назад
Превратить сайт в веб приложение ) почему бы и нет)
_ Искусственный Интеллект (834100) СуперСмок Текстильщики, Веб приложения на html не пишут, если ты не знал. Нелепость в том, что так сделать невозможно.
Matz Просветленный (36091) 1 год назад
Реализуй роутинг на js, для каждой страницы отдельный модуль-компонент и вперед... Такой себе самодельный мини-React... На ютубе полно уроков по теме.
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (264028) 1 год назад
Можно div-ами оперировать, особенно если не нужна прокрутка.

  




Многостраничный сайт









О нас


Наша компания занимается чем-то удивительным.






Контакты


Свяжитесь с нами по адресу: example@example.com










Chromatic Scale Искусственный Интеллект (206478) 1 год назад
Для реализации многостраничного вида на одностраничном сайте (SPA) с использованием JavaScript, вам понадобится следующий подход:

1. **Разметка HTML:** Ваш HTML-файл должен содержать различные секции для каждой "страницы" (например, домашняя страница, о нас, контакты и т.д.). Эти секции могут быть реализованы как `<div>` элементы с уникальными идентификаторами.

```html
<div id="home">...</div>
<div id="about" style="display:none;">...</div>
<div id="contact" style="display:none;">...</div>
```

2. **Навигация:** Добавьте элементы навигации, такие как ссылки или кнопки, которые будут переключать отображение между разными секциями.

```html
<nav>
<a href="#home">Домой</a>
<a href="#about">О нас</a>
<a href="#contact">Контакты</a>
</nav>
```

3. **JavaScript для управления отображением:** Используйте JavaScript для прослушивания событий изменения хеша URL (или кликов по ссылкам) и переключения видимости различных секций.

```javascript
function navigate() {
// Скрываем все секции
document.querySelectorAll('div[id]').forEach(div => {
div.style.display = 'none';
});

// Отображаем нужную секцию
const hash = window.location.hash || '#home';
document.querySelector(hash).style.display = 'block';
}

// Прослушиваем изменения хеша
window.addEventListener('hashchange', navigate);

// Вызываем функцию навигации при инициализации
navigate();
```

4. **Стилизация:** Используйте CSS для стилизации видимых и скрытых секций, а также для оформления элементов навигации.

5. **(Необязательно) Использование History API:** Если вы хотите улучшить пользовательский опыт и SEO, можете использовать History API для изменения URL без перезагрузки страницы.

Этот подход позволит вам имитировать многостраничный сайт, используя один HTML-файл и динамически изменяя отображаемое содержимое с помощью JavaScript.
Dlazder Мудрец (16875) 1 год назад
Нет. Так низя делать, раньше я себе также представлял. Нужно запрашивать с сервера страницу, и рендерить ее в body. Потом меняем url без перезагрузки страницы используя history. А можно просто использовать реакт с react-router-dom
СуперСмок ТекстильщикиУченик (108) 1 год назад
Я тоже в react django прогаю, но начальная настройка занимает некоторое время, а для обычного 3х страничного сайта это геморойнее чем написать скрипт, который ты будешь пихать в небольшие проекты и пользоватся его приемуществами
Dlazder Мудрец (16875) СуперСмок Текстильщики, не знаю что там за извращение реакт джанго, хотя это не удивительно, что питонисты так сильно не хотят учить какой либо язык отличный от петухона.
Похожие вопросы