Что можно сделать на одностраничниках с помощью JavaScript?
Только изучаю веб-разработку. Могу смело сверстать адаптивный одностраничник. Но что дела с JS , он везде требуется, но я никак не могу понять в каких местах его нужно применять. Карусель можно сделать и на CSS. Неужели только для всплывающих окон?
Что нужно и можно сделать в LP с помощью JavaScript?
Реально глупый вопрос.
Для взаимодействия с пользователем, сервером и DOM.
Например, средствами CSS и HTML никак не отреагируешь на нажатие на кнопку, не отправишь запрос на сервер и не добавишь после загрузки страницы новые стили.
Короче, что для чего нужно:
HTML - для основы.
CSS - для стилизации.
JS - для всего остального
PaulMaly: Павел Новиков: понятия не имею, зачем. Я отвечал на реплику мистера Dark Hole: "Например, средствами CSS и HTML никак не отреагируешь на нажатие на кнопку, не отправишь запрос на сервер"
Dark Hole: какой ещё страницы? html-форма отправляет данные на файл-обработчик/ресурс, расположенный на сервере, обычно методом POST. Прежде чем обвинять кого-то в глупости, неплохо бы самому для начала перестать их говорить
dimitrion: в глупости я никого не обвинял. Это раз. Во-вторых, вы сами ооочень ошибетесь - по умолчанию get. А запрос страницы... не смешите. Вы хоть работали с формами? Браузер запрашивает страницу из параметра action передавая попутно данные.
Dark Hole:
>в глупости я никого не обвинял
Прочтите ваше первое сообщение, адресованное топикстартеру
>вы сами ооочень ошибетесь - по умолчанию get
Я ни слова не говорил про умолчания
Ваш тезис был: "средствами CSS и HTML ... не отправишь запрос на сервер "
Параметр action определяет файл-обработчик или ресурс-обработчик, располагающийся на сервере, куда передаются данные из формы. Потом он, например, может сохранить их в базу данных. Это, само собой, происходит на сервере.
Может, вы наконец признаете, что запрос на сервер можно отправить средствами html и перестанете натягивать сову на глобус?
dimitrion:
>Прочтите ваше первое сообщение, адресованное топикстартеру
"Ну реально глупый ВОПРОС" - да, я обвинял вопрос в глупости. Не хватайтесь за первый попавшийся аргумент.
>Может, вы наконец признаете, что запрос на сервер можно отправить средствами html и перестанете натягивать сову на глобус?
А мне нужно признать, что переход по гиперссылке - запрос средствами HTML?
Dark Hole:
>да, я обвинял вопрос в глупости. Не хватайтесь за первый попавшийся аргумент
Это не аргумент, это указание на некорректность вашего поведения. К дискуссии о передаче информации на сервер средствами html он не имеет отношения
>А мне нужно признать, что переход по гиперссылке - запрос средствами HTML?
Нет, вам нужно признать, что информацию на сервер можно передать средствами html.
Но можете и не признавать, если это каким-либо образом задевает ваше ЧСВ. Лишь бы вы сами это понимали
dimitrion:
>передать средствами HTML
Что вы подразумеваете под передачей? Я - полностью контролируемый запрос с заранее неизвестными параметрами. В HTML этого нет. HTML, образно говоря, говорит браузеру, что делать и как визуализировать главный контент. JS же работает через браузер. HTML не может отменить действие. Почему? Потому, что запрос делает браузер. JS может отменить действие. Почему? Он, через API браузера, делает запрос.
Коротко - HTML не делает запрос, ИМХО. Запрос делает браузер, руководствуя HTML.
Dark Hole:
>Коротко - HTML не делает запрос, ИМХО. Запрос делает браузер, руководствуя HTML
Коротко - JS не делает запрос. Запрос делает браузер, руководствуясь JS
Если чуть подлиннее, то HTTP-запрос инициируется клиентом, в данном случае браузером. Что инициирует запрос (html или js) браузеру без разницы.
Вы все-таки пытаетесь натянуть сову на глобус вместо того, чтобы научиться чему-то новому. Это печально.
dimitrion: HTML не инициирует запрос. Инициирует DOM-событие, которое по сути обрабатывается браузером.
Меня огорчает, что вы придираетесь к миллиметрам, которые я понимаю, а меня понимать не хотите. Может перенесем этот холивар в ВК?
Dark Hole:
>Меня огорчает, что вы придираетесь к миллиметрам
Я пытаюсь(пока безрезультатно) объяснить тот факт, что с помощью html можно отправить запрос на сервер. Уже было упомянуто, что конечной точкой отправки http-запроса является браузер (это в контексте нашего разговора, так-то можно и telnet'ом, и curl'ом отправить), так что, чем бы вы ни пользовались, отправлять запрос будет все равно браузер. А вот, что будет начальной точкой - тут возможны варианты. Если вы говорите о DOM-событиях - хорошо. JS также обрабатывает DOM-события, а потом "дает команду браузеру" отправить запрос на сервер. Но вместо JS может быть и html. На самом деле, конечно, вы это прекрасно понимаете, но разводите холивар ради холивара, понимая, что в своем первом посте сделали некорректное высказывание.
>Может перенесем этот холивар в ВК?
Вам не терпится наконец-то уже перейти на личности?
dimitrion: ну JS как бы компилируется в машинный код. А HTML - нет. Но... спор не об этом. Поэтому объясню - я не считаю корневой запрос(с которого начинается загрузка странницы) достоянием HTML. А так же не считаю прочие теги HTML истинными HTTP запросами. Иначе получается довольно комично - script, link, img, a и прочея, прочея, прочея создают HTTP запросы посредством HTML. (Первое, кстати, используется для JSONP так, что вы не столь уж неправы).
Понятно?
Dark Hole:
>я не считаю корневой запрос(с которого начинается загрузка странницы) достоянием >HTML. А так же не считаю прочие теги HTML истинными HTTP запросами
Помилуй Б-г, как могут теги(код JS) быть http-запросами? Http-запрос - это сообщение, посылаемое клиентом (браузером в нашем случае) серверу. Вы в своем первоначальном сообщении утверждали, что это невозможно сделать без JS. Я вам показал обратное: простейшая html-форма делает это абсолютно без участия JS.
dimitrion: опять придираетесь. Ну, я неправильно написал. Но понятно, о чем я.
Я еще раз поясню: даже простая гиперссылка или ссылка на внешний скрипт/стиль создает HTTP запрос "средствами HTML". Т.е. я вас прекрасно понимаю. Но вы никак не можете понять, что я такие запросы не считаю в данной ситуации. А вы продолжаете твердить: HTML может отправлять запросы, HTML может отправлять запросы, HTML может отправлять запросы.
Dark Hole:
>Но вы никак не можете понять, что я такие запросы не считаю
Какая разница, что вы считаете, а что нет? Это не имеет никакого отношения к объективной реальности.
>даже простая гиперссылка или ссылка на внешний скрипт/стиль создает HTTP запрос >"средствами HTML"
Абсолютно верно. И JS здесь также ни при чем. Если вам угодно, то можете считать, что запрос создается "средствами браузера". Но JS тут все равно ни при чем.
Dark Hole: я понял, что вы лажанулись, но никак не хотите это признать. В принципе, это не имеет значения. Html-форма как отправляла http-запросы, так и будет отправлять. С вашим признанием или без оного.
Dark Hole:
>форма не будет отправлять запросы - с чего бы ей? Тут просто для нее реализована логика на уровне браузера и все
Javascript не отправляет запросы - с чего бы ему? Просто для него реализована логика на уровне браузера и все.
Говорить, что форма не отправляет запросы, но говорить, что это делает javascript -- либо весьма смутно понимать, о чем идет речь в разговоре, либо банальное нежелание признавать себя неправым.
dimitrion:
>либо весьма смутно понимать, о чем идет речь в разговоре, либо банальное нежелание признавать себя неправым.
Похоже, вы себя описываете. Если вы не знаете, чем API отличается от HTML'шной логики - то о чем спор то? Это все равно, что считать вызов функции тем же HTML.
У меня есть и другой агргумент: JS - это Тьюринг-полный язык, а HTML, несмотря на его расшифровку, это формат данных. Т.е. логику отправки формы можно на JS с API браузера. А на HTML - нет.
Dark Hole:
>то о чем спор то?
Примерно об этом:
>Например, средствами CSS и HTML никак не отреагируешь на нажатие на кнопку, не отправишь запрос на сервер
Ещё раз: средствами html можно и отреагировать на нажатие на кнопку, и отправить запрос на сервер. Без JS.
>Т.е. логику отправки формы можно на JS с API браузера. А на HTML - нет.
На html -- нет. На html + API браузера -- да.
Ещё раз: JS не отправляет http-запросы.
dimitrion:
>На html -- нет. На html + API браузера -- да.
Можно мне еще C# на JSON с API?
>средствами html можно и отреагировать на нажатие на кнопку, и отправить запрос на сервер.
Отнюдь. В ограниченом количестве и разница огромная. Как вы выражаетесь, еще раз: HTML лишь указывает правила. JS - компилиться в исполняемый код, неотличимы от кода браузера.
Попробуйте реализовать тостер без бэкэнда (например на firebase) как одностроничное приложение. Или любое другое web-приложение. И прикинте что там будет на JS (по сути все).
dhat: firebase это и есть готовый бэкэнд. Для простеньких приложенек более чем норм. Для чего-то посложнее (или того что фаербэйз не умеет) возможно придется прикручивать свой бэкэнд на ноде (банально удобненько).
dhat: ну оно похоже на mongodb но очень много специфичных вещей которые заставляют чуть по другому моделировать данные. Да и чуть больше возможностей вроде регистрация через соц сети из коробки. На этом собственно строится распределение прав на доступ к записям.
Для сайтов... с firebase могут быть сложности в плане поиска, но если вы поиск имплементите не через свою базу данных а так же через сторонние сервисы - то как бы ок.
Во первых одностраничники это далеко не всегда LP.
Это может быть полноценный сайт, с прайсами, описаниями товаров и тд, где все грузиться будет ajax-ом.
Я настоятельно вам советую выбросить из головы свою мысль о том, что вы "Могу смело сверстать адаптивный одностраничник" и продолжать дальше изучать веб-разработку
Все что угодно, в прямом смысле. Если вы хотите что то сделать, но упираетесь в ограничения html5/css3, то это можно сделать с помощью js. Я так понимаю у вас стоит вопрос "что бы его сделать", а не "как это сделать".
Не знаю, как у вас, но когда у меня пришла пора использовать js, я как-то сразу это понял. Если вы можете обойтись без js, то замечательно. а js ради js, такое себе решение.