Тёмный

Javascript-джедай #34 - History, Screen, Navigator 

Sorax
Подписаться 104 тыс.
Просмотров 64 тыс.
50% 1

Группа ВК: soraxcss
Я ВК: art.sorax
Страница FB: / soraxtuts

Опубликовано:

 

15 фев 2014

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 61   
@stDragon
@stDragon 10 лет назад
придется еще раз 5 пересмотреть...
@paxpax1707
@paxpax1707 8 лет назад
Очень полезный туториал! Господи, Sorax, опережающий свое время гайд пилил! Зачем ты нас одних оставил то, родимый???!!!
@goldckack6786
@goldckack6786 Год назад
Все ещё годный курс
@imhvost
@imhvost 10 лет назад
Как всегда, просто отлично!
@user-bh6mc8pd8g
@user-bh6mc8pd8g 4 года назад
настолько красавчик что нужно придумать какойто дополнительный синоним который это описывает =)
@Redfieldone
@Redfieldone 10 лет назад
Артем ты просто дикий .... я просто в шоке с твоей скорости написания кода.
@questionsanswer6293
@questionsanswer6293 8 лет назад
Блин, да это бог разработки 800 левела, аааааа:)))
@ramengorkis825
@ramengorkis825 8 лет назад
+Камянной Дмитрий Просто перемотка..
@AndrewLewman
@AndrewLewman 8 лет назад
нет
@foggy8904
@foggy8904 6 лет назад
Слепой набор и Эммет
@user-hc5ul3ds5u
@user-hc5ul3ds5u 4 года назад
Эммет творит чудеса
@user-lv5or8zy4s
@user-lv5or8zy4s 10 лет назад
да! modernizr - это конфета! Часто выручает
@bakebaev7081
@bakebaev7081 6 лет назад
В Швеции еще в 2014 начали строить дата центр по добыче Боткина
@adskfksefn
@adskfksefn 4 года назад
походу он написал свой ангуляр и кайфует где то под пальмой
@alexanderp7521
@alexanderp7521 7 лет назад
"Если всё не совсем понятно, то это нормально. Мы рассмотрим все подробнее в следующих уроках." - сказал Sorax и залил после этого ещё один урок.
@JediAfrica
@JediAfrica 7 лет назад
Здравствуйте. Благодарю за интересный пример решения задачи, с которой я, как начинающий веб-разработчик, уже долго мучаюсь (Я нашел другое решение, но оно менее элегантно). В примере показано, как создать массив из простеньких коротеньких строчек для вставки в окно контента. Понятно, что если там воткнуть огромные html-коды страниц, то JS-код за ними просматриваться не будет. Скажите, а есть какая-то возможность подтягивать тексты отображаемых по нажатию кнопок контентов из внешних файлов, а не задавать их в виде массива строк? Вообще, было бы удобно задавать массив имен файлов, из которых подтягивать html-вставки в окно контента. И еще одни вопрос. А в приведенном примере решения, можно ли сохранить в Избранное ссылку "sorax:8000/about"? И будет ли при входе на сайт по этой ссылке открываться сразу страничка About?
@alexbel3021
@alexbel3021 7 лет назад
Можно подтягивать через AJAX необходимый контент
@STRIPPEDSTAR
@STRIPPEDSTAR 4 года назад
КОнспект console.log(screen.width,screen.height);//разрешение экрана console.log(screen.availwidth,screenavailheight);//размер максимальной доступной //области минус тулбар console.log(screen.colorDepth);//узнать доступную глубину цвета console.log(navigator); //Содержит информацию о браузере, количестве доступных потоков, //версии ОС, полезен для сбора статистики. console.log(history.length);//длина доступной нам истории history.back(); history.forward();//вперед назад по истории вкладки history.go(-2|2);//вперед назад по истории вкладки но не на шаг а на н-шагов /********СПОСОБ СОХРАНЕНИЯ СОСТОЯНИЯ ЧЕРЕЗ ХЭШИ***********/ // var links, updatestate, contentEl; // contentEl = document.querySelector('.content'); // links = { // main: "This is the Main page", // about: "This is the About page", // something: "This is the Something page", // }; // updatestate = function(){ // var content = links[location.hash.slice(1)];//обращаемся с объектом как с массивом // contentEl.innerHTML = content || "Page not found"; // }; // window.addEventListener('hashchange',updatestate); // window.addEventListener('load', updatestate); var links, updatestate, contentEl, navEl; contentEl = document.querySelector('.content'); navEl = document.querySelector('.nav'); links = { main: "This is the Main page", about: "This is the About page", something: "This is the Something page" }; updatestate = function(state){ if (!state) return; contentEl.innerHTML = links[state.page]; }; window.addEventListener('popstate', function(e){ updatestate(e.state); }) //window.addEventListener('load', function(e){updatestate(e.state);}); navEl.addEventListener('click', function(e){ var state; if (e.target.tagName !== 'A') return; state = {page: e.target.getAttribute('href'), }; history.pushState (state, '', state.page); updatestate(state); e.preventDefault(); });//Не работает а мне спать охота, буду признателен если кто поправит где я не прав
@user-nv1cs5vd3j
@user-nv1cs5vd3j 3 года назад
2:34 Фигасе, биткоины 2014 году уже во всю жгли!!!
@Alexander-ns9yv
@Alexander-ns9yv 5 лет назад
e.preventDefault() лучше в самый верх ставить после объявления переменных. Так хоть в консоли вывелось, что переменную неправильно записал navEL, а надо navEl.
@anatolii-0884
@anatolii-0884 10 лет назад
метод history.pushState не работает если адрес страницы отличается от index-ной. в боевых условиях придется допиливать, но возможно ли это.. просто не получится, как ни крутил не получилось. хотя может чтото упустил. вариант с hashchange работает лучше пусть и не красиво с #. но думаю это не так критично. вот нашел пример если кому пригодится benalman.com/code/projects/jquery-hashchange/examples/document_domain/
@Oleg-kg1zy
@Oleg-kg1zy 7 лет назад
Подскажите пожалуйста как отличить нажатия кнопок Back и Forward? Заранее благодарю
@igorsagaydak6525
@igorsagaydak6525 8 лет назад
как 1366 х 768 , у вас разве не мак? может какой то ACER с установленой хакинтош?
@dmitryvalko9435
@dmitryvalko9435 4 года назад
Может моник)
@antontraceur
@antontraceur 6 лет назад
посоветуй пожалуйста как настоящий профессионал, как относиться к джейквери ? лучше ванильку юзать или можно и его ? или может лучше написать свой мини джеквери для только тех функций которые я использую ?
@webgo4567
@webgo4567 6 лет назад
Anton Stasyuk . jQuery в разы проигрывает Ванилле. Заходите ко мне на github.com/Selyutin-Egor/scripty/tree/master/ver%200.4.0 В своих уроках я детально подвожу к написанию этой библиотеки.
@androiddecolt11
@androiddecolt11 2 года назад
Когда доходишь до конца, перестает работать перезагрузка с любым из хэшей - "404". По сути, событие "load" становится бесполезным. Код не продуман до конца. Кто знает, как решить проблему?
@androiddecolt11
@androiddecolt11 2 года назад
Для себя: 04:36 Событие 'load' - для перезагрузки
@EwersTV
@EwersTV 9 лет назад
Как так, соракс, на хабре рид-онли?! Кошмар!
@user-ed7ty4ov6x
@user-ed7ty4ov6x 7 лет назад
Зачем так сложно (
@ViacheslavYurchenkov
@ViacheslavYurchenkov 8 лет назад
Все здорово, но весьма быстро! Пересмотреть не проблема, но вот когда стараешься повторить код, а потом он резко меняет его - начинаешь теряться
@MsyeVictor
@MsyeVictor 5 лет назад
Важный нюанс! Если просто браузером открыть файл index.html ,написанный в конце ролика, то при нажатии на любую кнопку выдает ошибку ERR_FILE_NOT_FOUND. Чтобы этого не происходило, нужно запустить live server. Для VS Code напимер ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ROv_XigBgwc.html
@ludasolodka7747
@ludasolodka7747 4 года назад
5:34 history.pushState()
@kotamirov
@kotamirov 10 лет назад
Назад вперед по истории ходит, но при попытке обновить страничку из истории выдает ошибку: страница не найдена. Что может быть ?
@MrGrigore043
@MrGrigore043 10 лет назад
Таже история. Может будет про то как это испрать
@kotamirov
@kotamirov 10 лет назад
Grigore Rusnac Проблема решается с помощью localStorage)
@cookiesInChocolate
@cookiesInChocolate 10 лет назад
Grigore Rusnac если сайт на сервере, то можно через error 404 =)) нет серьезно, в корне в .htaccess пишешь ErrorDocument 404 /index.php . index.php это страница на которую перенаправляет, считываешь путь текущий и в зависимости от него загружаешь нужный контент.
@belekanychgeorge
@belekanychgeorge 9 лет назад
Konstantin Amirov Если можно, то как?
@markianivanichok1181
@markianivanichok1181 9 лет назад
Konstantin Amirov можно по подробнее?
@LiguidCool
@LiguidCool 10 лет назад
HTML5 History API - чето слишком геморно, для сомнительной пользы.
@cookiesInChocolate
@cookiesInChocolate 10 лет назад
Максим Макаров А на чем предлагаете генерировать страницы вы?)
@cookiesInChocolate
@cookiesInChocolate 10 лет назад
Максим Макаров спасибо за ответ =)
@alexalexandrov7938
@alexalexandrov7938 5 лет назад
@@cookiesInChocolate и на чем же?
@cookiesInChocolate
@cookiesInChocolate 5 лет назад
@@alexalexandrov7938 уже не помню но предполагаю что речь шла о том что бы не использовать чистый JS для SPA (Single Page Application), а какой-то Фреймворк или библиотеку. Сейчас топовым выбором будет ReactJS, Angular, Vue etc.
@alexalexandrov7938
@alexalexandrov7938 5 лет назад
@@cookiesInChocolate спасибо)
@kazakovsergey
@kazakovsergey 8 лет назад
столько кода только для того, чтобы работали кнопочки браузера перехода по истории?
@JediAfrica
@JediAfrica 7 лет назад
Очевидно, Вы никогда не программировали на Ассемблере... Вообще, народ обленился! :))))))
@webmaster280211
@webmaster280211 10 лет назад
У меня ничего этого не работает. Вот код Javascript-джедай #34 - History, Screen, Navigator Welcome to my page MainAboutDownloads var links, updatestate, contentEl; contentEl = document.querySelector('.content'); links = { main: "This is the main page", about:"This is the about page", downloads:"This is the downloads page" } updatestate = function(){ var content = links[location.hash.slice(1)]; contentEl.innerHTML = content || "Page not found"; }; window.addEventListener('hashchange', updatestate); Как было до написания скрипта так и осталось скрипты ничего не делают у меня. Вот скриншот: joxi.ru/hj81UxjKTJAUMEh0p8U .
@user-bd4gr6jw3e
@user-bd4gr6jw3e 10 лет назад
В теге добавь text/
Далее
Javascript-джедай #35 - DOM
7:05
Просмотров 95 тыс.
Советы на всё лето 4 @postworkllc
00:23
Using the History API - JavaScript Tutorial
16:40
Просмотров 31 тыс.
Чего ожидать от HTTP/3 + Go
51:07
Просмотров 9 тыс.
Javascript-джедай #5 - Числа
17:15
Просмотров 184 тыс.
Javascript-джедай #29 - Класс RegExp
10:41
pushState and popstate
12:02
Просмотров 46 тыс.
Советы на всё лето 4 @postworkllc
00:23