Fork me on GitHub
#clojure-russia
<
2015-09-02
>
pacman06:09:52

всем доброго времени суток. Вопрос по браузеру safari , Начиная с каких версий сафари clojurescript + OM/Reagent работает стабильно? может ктото сталкивался

delaguardo06:09:32

поддерживаются те же версии что и у ReactJS

delaguardo06:09:33

начинал с 7 версии, проблем не видел особенных каких-то

pacman06:09:02

а в мобильных айфонах 5s

serce09:09:24

Всем утро! Есть в чате сlojure разработчики в районе Екатеринбурга?

shinych09:09:48

@pacman: а чего ему в safari не работать? simple_smile по опыту - есть проблемки с flexbox (решаемые - у сафари свои модификаторы), но это не про реакт

ilshad09:09:02

@pacman: не сталкивался. Лично я только в 5s и проверяю)

ilshad09:09:51

имхо проблемы кроссбраузерности надо искать в Google Closure, если возникли подозрения

pacman09:09:19

да я так, наперед спрашиваю, мне просто на сафари тестить негде пока

pacman09:09:46

а пара клиентов бегает с айфонами

ilshad09:09:32

У сафари вообще есть пара своих проблем, которые возникают при использовании именно React.

ilshad09:09:53

точнее так: не в React дело, в том как на нем обычно пишутся вещи

ilshad09:09:34

сафари (и десктоп и мобайл) предзаполняют формы (логин форма например), никак не отдавая событий

shinych09:09:02

если цель - мобильные (in-app) браузеры, то вместо on-click обрабатывай on-touch-end, иначе будет неприятная задержка в 300 мс. Для удобства отладки в десктопном браузере я обрабатываю оба события, но нужно не забыть придушить дефолтное

pacman09:09:03

а пример есть, ну где трабла может возникнуть

ilshad09:09:14

не помню как именно называется этот вид предзаполнения у них

pacman09:09:55

@shinych: а как душить дефолтное

shinych10:09:10

(.preventDefault e)

ilshad10:09:24

ну короче, в итоге в поле формочки у тебя уже есть автозаполненный текст, но в твоей модели (локал / глобал стейт тд) - там у тебя ничего нету.

ilshad10:09:46

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

ilshad10:09:57

можно читать поле по старинке, напрямую, но вот сразу среагировать в другими компонентами (подсветить как надо и тд) - не получится

ilshad10:09:10

эта проблема не разрешена, насколько я знаю

ilshad10:09:04

"разу среагировать в другими компонентами (подсветить как надо и тд) - не получится" - потому что в атоме / или где там у вас стейт - нечего нету на этот момент.

ilshad10:09:07

как-то так.

pacman10:09:40

@shinych: (.preventDefault e) ---> а типа так :on-click (fn [e] (.preventDefault e) ...........????

pacman10:09:15

@ilshad: болешее спасибо, вроде как понял. Проблема с предзаполненными полями получается

ilshad10:09:29

угу, есть она

pacman10:09:42

благодарю

invizz10:09:10

@ilshad: @pacman: в последней версии Safari этой проблемы уже не должно быть, они отключили предзаполнение и теперь нужно 2 раза кликнуть по полю ввода

pacman10:09:20

@shinych: а в on-touch-end тоже душить надо или только на :on-click ????

ilshad10:09:26

@invizz: да, отключили, и теперь не автозаполнения, что тоже плохо)) вот нет чтоб сделать какое-нибудь событие не это.

ilshad10:09:36

когда инициируешь это их автозаполнение сам, проблема остается

delaguardo10:09:19

(.preventDefault event)
(.stopPropagation event)

delaguardo10:09:28

так надежнее

invizz10:09:37

@ilshad: понял, спасибо)

petr.myain10:09:47

выпуск подкаста о Clojure: https://changelog.com/171/