Скроллинг при возвращении назад

Web

Знаете одну тайну. Оказывается браузеры запоминают состояние страницы когда переходишь с нее на другую страницу для того чтобы при возвращении назад - они показали то же самое состояние с которого проходил переход. Вы можете проверить это на каком-нибудь старом сайте, перейдя по ссылкам и вернувшись обратно, даже если там были сложные подгрузки.
Но почему то всё стало ломаться когда стали переизобретать стандарты реактивные фреймворки. Да, отлично, придумали keep-alive для того чтобы при возврате восстанавливать все элементы из кеша. Но физически они пропадают из dom структуры, а их скроллинг позиции удаляются вместе с элементами. Недоработки

Читать дальше →

  • Автор: kosmom
  • Просмотров: 884
  • Комментариев: 0
  • Создан: 20.09.2021 12:32

Скроллинг фона в модальных окнах на Iphone

Web

или

Prevent background body scroll in IOS

Много наслышаны про задачу запретить скроллить фон при открытых диалогах и модальных окон. Много крови попило данное решение Apple встроить собственную поддержку прокрутки. При чем от версии к версии изобретают и падают существующие решения.

Причем данная ситуация воспроизводится только на самих устройствах Iphone либо в эмуляторах. Вы не сможете воспроизвести ее в Chrome debugger emulator

Дело в том что body в большинстве своем на сайте - имеет прокрутку. т/к/ высота контента как правило занимает больше одного экрана. Следовательно - вы можете его скроллить. И исчезает ползунок для скролла с виду не сразу и пока он активен - вы сможете за него ухватиться и продолжить скроллинг, чего бы не было наложено поверх данного слоя с прокруткой.

Все думают, что повесив overlay - смогут запретить доступ к фону, а не тут то было. Apple всех перехитрил.

Читать дальше →

  • Автор: kosmom
  • Просмотров: 1007
  • Комментариев: 0
  • Создан: 27.04.2021 10:54

Undefined не перехватывается через watch

Web

Сенсация! Undefined не перехватывается через watch. В javascript существует возможность отслеживать изменение значения переменной через watch, observe, listen. Всё это обернуто внутри реактивного фреймворка vue через секцию watch. Но как оказалось есть особенности:

Если вы хотите перехватывать изменение переменной в пустышку - используйте a=null

Если не хотите перехватывать изменение в пустое - значение - используйте a=undefined, либо используйте a=null и явно указывайте проверку внутри метода watch

Соблюдайте принцип: Явное лучше неявного

И не используйте undefined

Таким образом null победил со счетом 1:0

Читать дальше →

  • Автор: kosmom
  • Просмотров: 792
  • Комментариев: 0
  • Создан: 26.04.2021 11:53

Общая папка со скриптами на несколько версий приложения VUE

Web

Если вы хотите красоты. Красоты в структуре приложений и коде, чтите всевозможные DRY и KISS - То наверняка задумывались о том как вынести повторяющиеся блоки с кодом во вне папки с приложением.

Допустим у вас несколько версий приложения. Мобильная, десктопная и особая версия для мобильного приложения (PWA), либо вообще Cordova и Electron. Все пользуются едиными файловыми наборами. Миксины, авторизации, константы едины.

Вы выносите папку выше папки с репозиторием и... компилятор не видит данного пути и предлагает установить зависимость через npm install

Какие варианты решения доступны?

Читать дальше →

  • Автор: kosmom
  • Просмотров: 730
  • Комментариев: 0
  • Создан: 05.04.2021 15:37

Keep-alive активна ли страница

Web

Микс поможет на случай если вы используете VUE, также используете keep-alive и у вас есть какие-то фоновые операции (watch или timeout) и вы хотите чтобы конкретная операция сработала только на активной вкладке. Другими словамы мы сделаем проверку активна ли текущий keep-alive или нет, нет ничего проще.
Так получилось, что фиксировать активность страниц базово можно только через методы. По сути остается только придать им состояние. Сделать это совсем не сложно

export default {
data() {
return {
isActivePage: false
}
},
activated() {
this.isActivePage = true
},
deactivated() {
this.isActivePage = false
},
}
Пользуйтесь

Читать дальше →

  • Автор: kosmom
  • Просмотров: 714
  • Комментариев: 0
  • Создан: 31.03.2021 16:15

Создаем аналог select2 стандартными средствами vuetify

Web

Приветствую
Разберем пример создания элемента автодополнения для vuetify 2.2 (на текущий момент). С подгрузкой данных с сервера при вводе данных пользователем
Пишу об этом, т.к. на текущий момент нет понятной инструкции по устройству данных компонентов.
Начнем с того, что в vuetify есть стандартный элемент v-autocomplete, но он работает совершенно не так как нужно. Его основное назначение позволить выбрать значение из доступных элементов или не выбрать ничего. Если вам нужно именно такое решение - используйте именно v-autocomplete
Если вы хотите сделать некий автокомплит в виде подсказок, но позволить пользователь ввести значение с клавиатуры - вам необходимо использовать v-combobox
И не спрашивайте почему их не объединили в один.
Теперь для динамической подгрузки подсказок с сервера - в стандартных средствах vuetify нет предусмотренных элементов, вам придется связывать имеющиеся свойства для достижения цели

Читать дальше →

  • Автор: kosmom
  • Просмотров: 1120
  • Комментариев: 0
  • Создан: 02.03.2021 15:25

VUE дружим с Роутингом

Web

С большими возможностями приходит и большая ответственность
! Человек паук

Сегодня мы разберем продвинутые техники идеального укрощения роутинга в реактивном фреймворке на примере VUE. Если вы совершаете переход от обычных страниц к реактивности - можете наткнуться на несколько камней, которые мало где описаны как можно решать правильно.
В чем же особенность роутинга в реактивных приложениях. А в том, что страница не перегружается полностью а происходит эмуляция обновления страницы, а именно изменяющейся части. Мы же реактивные, информацию в шапке и других общих частях (которая обычно располагается в папке layouts) и это здорово, потому что браузеру не нужно заново рендерить эту самую неизменную область схожую у нескольких страниц заново. А URL эмулируется либо через хеш # либо через History API

Читать дальше →

  • Автор: kosmom
  • Просмотров: 490
  • Комментариев: 0
  • Создан: 14.11.2020 05:37
Ваши предложения и пожелания пишите на pro@kosmom.ru

Теги

ajax axios backup bootstrap core framework eloquent excel home project html ios javascript keep-alive kpi laravel legacy mvp orm php rip scroll solid timestamp undefined vue vuetify watch безопасность биометрический паспорт ваша любаша для путешествий загран на 10 лет загран паспорт загранпаспорт нового образца зимние книги как заполнить анкеты кеширование книги на новый год логирование мцф недвижимость новогодние книги образец заполнения антеты паспорт для путешествий паспорт нового поколения печать продукт проектирование прокси разработка ремонт ремонт в апартаментах ремонт нежилого помещения самокат сдача сколько стоил ремонт апартаментов спорт стандарты таблица финансы хостинг цена ремонта что почитать зимой юзабилити

Случайный пост

01.02.2016 13:37
Книги января 2016. Ч. 1