… on the other hand…

Don't click here!
The Turtle
My CV.

Gulp-BrowserSync и магия.

by Dima on 10/02/2016

Вот я тут на днях поймал забавное.
Давно такого веселья не случалось.
Сейчас расскажу, обхохочетесь!
Сижу я вечерком, как обычно, на кнопочки давлю, временами мышку хватаю и кликаю. В один прекрасный момент кликаю на кнопочку на сайте, который разрабатываю. Сайт думает немножечко и вдруг перекидывает меня в другое место. Вначале думал, что ошибся. Проверил код, исправил ошибки, еще исправил, немного улучшил, еще немного. Не помогает. Внезапно, в непонятные моменты самопроизвольно переходит на другую страницу. А в какой-то момент вообще начал сам по страницам бегать. У меня, как обычно, паника. Бросился искать вирус, потом хакера. В глазок посмотрел, не сидит ли алкаш какой, хакнувший мой WiFi и мой компьютер, на лесенке. Но никого нет. А браузер знай себе по страничкам скачет. Ну я начал шифр разгадывать. Думал, может мне морзянкой какой “Тук-тук Дима” говорят. Но нет, задержки почти одинаковые, хотя в коде ни timeout’ов ни interval’ов нет. Даже завалящих асинхронных операций со всякими promise’ами и прочими штучками новомодными не нашел.
Долго ли коротко ли, но разгадал я это. Смеялся долго, лбом клавиатуру бил и пива желал, но не пил.
И вот что это было.
Все знают, наверное, что Browser Sync это Time-saving synchronised browser testing. Ну они сами об этом пишут у себя на сайте.
А у меня оно еще и обновляет контент в браузерах, когда я нажимаю “сохранить” в Sublime. Кто понял, может дальше не читать.
Я разрабатывал проектик небольшой и довольно простой. Ну поделал что-то, отвлекся окошко свернул. Оно сидит себе свернутое и не отсвечивает.
Вернулся и новое окошко открыл. Краше прежнего.
И есть у меня страничка, на которой есть маленький такой фильтр (но конечно очень красивый). Ну и можно потыкать в него и дальше только фильтрованные данные показываются. Карточка за карточкой.
Приложеньице, конечно же, очень даже HTML5-ничное. Все из себя строку адресную в браузере меняет и все такое прочее. Уже поняли? Везет. А я не сразу.
Вот я натыкал в фильтре что-то и сказал, а покажи мне карточку, родное.
Оно показало карточку. А я возьми да нажми на кнопочку, мол покажи ка мне следующую, да из выбранных только. А оно опять показало. И адрес поменяло.
BrowserSync это увидел и свернутому окошку говорит: мол не сидело бы ты без дела окошечко, а тоже вот строчечку поменяло бы. То возьми да и поменяй.
Умный код посмотрел на новую строчку и видит, что данные не соответствуют фильтру свернутого окошка. Значит надо бы к следующему разрешенному скакнуть. Ну и скачет. И меняет адрес конечно.
А BrowserSync тут как тут. Рабочему окошку шепчет, змей поганый, вон говорит, даже свернутое окошко адрес поменяло. А ты все со старым ходишь.
И мои окошки давай адреса наперегонки менять. Вплоть до момента, когда до разрешенных в обоих окошках данных не дойдут.
А как задал фильтром непересекающееся множество, так они вообще войну холодную устроили.
В общем осерчал я и закрыл свернутое окошко.
Ну и рабочее окошко тут же послушным стало. Видит, стало быть, что за неповиновение быть может.
А вот потом я уже начал лбом о клавиатуру биться.

Leave a Reply

Your email address will not be published. Required fields are marked *