Firefox - Drag'n'Drop rubrika: Programování: JavaScript

7 xxar3s
položil/-a 22.5.2018

Vo svojej appke mám komponentu TreeView ktorá zobvrazuje stromovo usporiadané položky. Pridal som do nej možnosť presúvania položiek medzi foldrami pomocou drag'n'drop. V Chrome a Edge všetko krásne funguje vo FF sa to správa ako keby nepoznal DND. Dokonca ani kurzor sa nezmení. V čom je problém? Používam natívne eventy:

  • onDragStart
  • onDragEnter
  • onDragOver
  • onDrop

každý node stromu má nastavený attribút draggable na true.

odkaz
7 xxar3s
odpověděl/-a 24.5.2018

Tak po dlhom hodinovom badani som prisiel na to kde je problem.

Vo Firefoxe sa musi v obsluznej mentode onDragStart zavolat event.dataTransfer.setData (aj ked napr. ja na tento ucel pouzivam redux takze dataTransfer vobec nepotrebujem).

handleDragStart = (event: React.DragEvent<HTMLDivElement>) => {
    event.dataTransfer.setData('Text', ''); // toto pridat
    safeInvoke(this.props.onDragStart, this, event);
}

Vo firefoxe to je uz dlho nahlasene ako bug:

https://bugzilla.mozilla.org/show_bug.cgi?id=1352852

Zda sa ze odkedy MS vypustil Edge tak ma najviac problemov s kompatibilitou firefox. Vacsinou co funguje v Chrome funguje aj v Edge a Safari a naopak.

Komentáře

  • mikiqex : S tím Firefoxem je to bohužel pravda, na druhou stranu "Chrome is the new IE". Jinak, hodnota "Text" v setData je OK, ale častěji se tam teď dává "text/plain". 25.5.2018
  • ivoszz : Miluji mlaďochy, kteří vypustí větu "chrome je nový IE" a přitom netuší, co to znamenalo, když MS prohlásil, že verze 6 je dokonalá a není potřeba inovovat. Mezi vydáním verze 6 a verze 7 bylo 5 let!!!, přičemž inovace v IE7 byla v podstatě jen vnější, vevnitř se toho změnilo jen minimálně. 25.5.2018
  • harrison314 : @ivoszz: ja nie som uz mladoch a zazil som IE6 ale chorme je naozaj novy IE, zial misim pren robit, a musim pren robit aj pluginy. 26.5.2018
  • ivoszz : Pak mi nezbývá než dodat, že ti pomalu přestává sloužit paměť. ;) A to říkám při plném vědomí toho, že Google už dávno není ten "hodný" a Microsoft ten nejvíc "zlý". Pokud na tom tvrzení trváš, bylo by rozumné své tvrzení podpořit několika argumenty, jinak je to výkřik do větru. 26.5.2018
  • Mlocik97 : MS vraj není nejvíc zlý :D :D :D :D je druhá najhoršia "IT" veľká firma hneď po facebooku 26.5.2018
  • harrison314 : @ivoszz: Svojim majoritmy podielom na trhu si Chrome moze implementovat cokolvek, to je na tom zle, ale naprilklad, planuju zrist localhost, CT log, kontrola reklamy a toho co ma user vidiet, neustale zmneny API a pridavanie fetures ktore su nekompatibilne zo zvyskom sveta, potom to ma za dosledok, ze vsteko sa pise pre Chrome a osttani si mozu piskat. Mame jedneho cloveka co nerobi nic ine ako to ze udrzuje pluginy do chrome a Firefoxu. 26.5.2018
  • harrison314 : @Mlocik97: MS aspon nema hlavny zdroj primov z dat uzivatelov ako FB a Google. Google ma v podstate majoritne postvenie vo vyhladavani a prehliadaci a tuto poziciu rad pouziva vid. CT log. 26.5.2018

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.