Wpis z mikrobloga

#js #javascript #webdev

Taki mały, trywialny tip, który może być nieznany dla paru osób, które nie sprawdzają kompatybilności w starszych przeglądarkach. Zawsze starajcie się dawać wszystkie argumenty dla funkcji - nawet jeśli są one opcjonalne, np. w EventTarget.addEventListener można ominąć bąbelkowanie (z reguły się go pomija, bo domyślnie jest zdefiniowany jako false). Niektórzy pomijają ten argument, a jest on szczególnie ważny w FF <= 6 czy Opera <= 11.60. To samo tyczy się CSSStyleDeclaration.setProperty i paru innych funkcji.
  • 42
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@P0lip: a wiesz, że niektórzy mogą mieć po prostu w------e na tak stare przeglądarki i ich userów?:P

Albo inaczej - tego się po prostu nie wspiera
  • Odpowiedz
@P0lip: ff <= 6 serio? To się albo uświadamia, że ten nowy ie spierniczył się już 33 raz albo nie bierze zlecenia, bo szkoda nerwów na janusza :)
  • Odpowiedz
@npsr: Racja, z tym, że te przeglądarki jakby się zliczyło to nadal jest jakieś 2-3% na rynku jeśli nie więcej. Poza tym jest łatwo je wesprzeć, co innego IE8
  • Odpowiedz
@npsr: Właśnie chiałem napisać, że 1-2%, z tym, że te przeglądarki jest dużo łatwiej wesprzeć niż IE < 9. Zresztą i tak dobrym nawykem jest dawanie argumentów. Np. w nowych FF async jest domyślnie true w xhr'ach, a w innych jeszcze nie (chyba). Ominiesz 3ci argument i masz w nowych FF asynchroniczne żądanie a w innych nie :P
  • Odpowiedz
@P0lip: dla tego IE <9 też nie wspieram :P

Właściwie to wcale nie wspieram ie i o dziwo praktycznie wszystko na >= 9 śmiga. Czego nie mogę powiedzieć o z------m firefoxie, który zastąpił ie :P
  • Odpowiedz
@npsr: Ja IE < 9 też nie wspieram. Na nowych nie ma większego problemu. Jeszcze IE9 małe braki ma, ale głównie jeśli chodzi o CSS (flexboxy, transition). Co w FF się nie podoba? :D
  • Odpowiedz
@P0lip: wszystko :P Flexboxy na <28 sypią się. document.innerHeight kłamie do dziś jak ktoś nawet delikatnie skopie css, cache to chyba trzyma dożywotnio, setSelectionRange() a bo i po co .... duuużo tego.

Zawsze jak wszystko działa na chrome, operze, iShitach, androidach i innych safari to na ff się i tak w-----e :P
  • Odpowiedz
@P0lip: jeśli dobrze pamiętam to ominąłem to floatowaniem a do sprawdzania napisałem taką klasę:

KLASA.prototype.isFlex = function()
  • Odpowiedz
@npsr: No tak, ja też w ie9 floaty stosuje, to miałem na myśli :P

Ja mam swoją biblioteczką do feature detection bo modernizr nieraz ssie mocno

A is wystarczy, że zrobisz

return 'flexWrap' in document.body.style === true albo samo 'flexWrap' in document.body.style :P
  • Odpowiedz
@P0lip: ja obecnie w ogóle nie mogę używać biblotek, więc stosuję leczenie objawowe :) Swoją drogą jeszcze więcej zabawy, bo robię widgety, które nie dość, że muszą być odporne na przeglądarki i urządzenia to jeszcze na koderów stron z którymi są integrowane :D
  • Odpowiedz