Discover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device.All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page. Nifty Archive Prolific Authors. Child. 97. 6- SMUTA. Richard Hunter (Of Blessed Memory)Aaron Grant. Aaron Hull / Wah Stories.
![]() Abba Dabba. About a Boy / This Boys Life / Ian Bridge. Act. Fr. Pa. Gr. Adelhardt HAdrian Gil. ADRiley. 31. 3 (Aiden Dean, AD Riles)Adonisart. Emir. Aestovator. AGAgent Orange. Al Peres. Al Schwartzer / bearinelmjack. Alain Mahy. Alan Stroup. Alana Montgomery. Albert Horniman (A. Horniman)Albert Nothlit. Alex Carbine. Alex Dent. Alex Hawk. Alex PAlex Roberts. Alex Rohny. Alexander Levitzky. Alisha. Allen Giffen. Altimexis. Alvaro Lopez. Amador Pueri. Amanda Sipes. Amateurish. Writer. Amethyst Rose. Andi. Chan. Andrew Davis. Andrew Foote. Andrew JAndrew Todd. Andrew Whitaker. Andy Lake. Andy Mann. Andy Macdonald. Andy Mitchell. Andy West (Andy Smith, James Smith)Anielmty. Annie BAnt Boy. Anthony Dowsett. Anthony Ross (Abr. Anton Eckhoff. Apple. Ar Beea. R Jey. Ardveche. Arminius. Arry / Airarry / Marcus. Art Fex. Arthur Arthor. Artistic. Bi. Guy. August. Author. 22. Author James (James Geckler)Awesome Art. Awrt. 96. AXL (Of Blessed Memory)Azn. B0i. Kid. B Stories. Backlash. 29. Backpacker. Bamaboi. 2serve. Barefoot Steve. Barry / Puer Amore. Barry Edmund / Jimmy Storie / Joe Stories / Jimmy. Jordan. Calvin Corvidian. Candy Kane. Carl Corley. Carl Mason. Carlos Martinos (Brandon B. Bonner, C or M, Carlos Zoltan Martinos, Randy K. Carlinsetti, Marcar. Marcar. 00. 7)Carson Carruthers (Of Blessed Memory)Caseycgf. Chad / Azcumslut. Chad Prescott. Chance. Chance Brickman. Charles Baudot. Charles Westfall. Charlie. Chaz / Unkle CChefinthewild. Chip Dyp. Chipster. Chris Chin. Chris Martin. Christian Parker (Dragonknight. Christian Xavier Gartrip. Christine Lauder. Christy Mars. Chuck Root. Chuckie Cheez. Clark Building. Clever Wag. Clifford Simpson. Clone Buggs / Sin Titulo. CNJShore. 9Cody Boarder. Cole Parker. Collage Maker. College Boys. Colton. Cooper Max. Cosmic Charlie. Cosmocrackerjacker. Crash Manningcrnhskrfn. Cuddlebun. Czykguy. Dabeagle (Dave, The. Roduner (DMR, King Arthur)David Preecher. David S Shorts. David Spowart. David Williamsdecal. Demitiri Symone. Derek Weiser (DW Simon)Derek. Guydesertmac. Dick Peters. Dickydoo. Dionyssosdirge. DJDJ Paul (Of Blessed Memory)DJanus. DL Mercer. Dn. Rock. Dog. Bone. Dolphin Dan. Dom Luka. Don Hanratty. Donn Mack. Donny Mumford. Doreen Mc. Kenna. Douglas DDDouglas Marx. Draginacht. Dream Janus. Drew Hunt. Drow Elf / Mercuryds elliot. Duu. 63. 4Dwayne Pitts. Dwedno. Dwight Wilson. Dymondbolt. E Bacrot. E Walk / Ed Walk (Of Blessed Memory)Eddie. Eff Del. Elf Sternberg. Eliot Moore. Emil Bertugli. Emri S. Ephraim Johnson. Eric Case. Eric Draven (Of Blessed Memory)Erik Drellman. Eric Foster. Eric LEric Morrison. Erica Milligan. Erik Ritler. Evan Bradley (Evan Bradely, Scriptor. Evan Williams. Exesxes. Fabiano Fabris. Fanara. Felix Lance Falkon. Fleetwood. Flip Mc. Hooter. Foresterdude / Andrew Ingleside. Frank De. Peri. Frank Russ. Fred WFree. Thinker (Christopher Macintosh, Coningsby, Chris. Writer)Freedom. Frottage Jock. Fun Seeker. Funtails. G Spencer. G- Man. Gabriel Morgan (Qwb, Qwb. Gaco. Gaias Druid (Of Blessed Memory)Gamin Paramour. Gary Gibson. Gary Kelly. GATOGavin I. Barrie. Gavin Mc. Dowell. Gaynokla. Gay Writer. Gaymarky. Gaysextop. Gayspeedoguy. Gee Lees. George Gauthier. George King 5. Tom Acton. Gerry Taylor. Dahran. The Changed Life. The Reluctant Retrainer. The Market Offer. The Special Memories. Dahran Rebuttals. The Seventh Desert. Ghettorod. Gladiatorkid. Glaucon. 55. Gloryhole Junkie. GOINDWNTWNGoo Gobbler. Graham Day. Graphsmuse. Grassof. Home. Gustav Rennick. Gymhunk (Marlyn Lewis)Gymnopedies. H. Rick Cantwell (Dick Hickey, Jockhunger)Hagenf. Harv. Hairy. 1, Ursuspilosus. HAJHandjob. Hans Schreiber. Happenstance. Hardreader. H. R.)Harrison Westbourne. Hector Himeros. Helmut Finder. Hermes (Justanother Author)Hnst. Skr. 4 / Chuck B. Holloway. Hoover Plano. Horned Owl. Hot for Dads. Hugsterbear. Hungboi. Hung. Rod. Hunter Woods / Wolfpup. Hyacinth Fire. Ian Duncan. Iarwain. Ike Rose / Oldtimer. Iku. Im. Jeff. Ink Blotches. It's Only Me from Across the Sea. J Malo. J Smith. J. Vincent / Shyoldguy JSJackbequicky / Greensalvin. Jack de. Gropier (Jack de Gropier)Jack Fellowes. Jack Ladd. Jack Russell (Ron Ronn, Ron Weiss)Jack Scribe. Jakob . Swannie. Mudcub (Patrick Kellogg)Multy. Amory. Muscle Daddy Bear. Mycandlelight Dreams. Naked Guy. Namab Mas. Naomiknowsit. Nathan. Stevens / Pablosound. Paul Sung. Paul Tolbert. Pearse Jackson. Peder Pederson (D. V. Zomba)Pedrick Oman / Johnny Kape. Pekkle. 18. 0Pen Nomen. Penny Cox. Percxyz. Perseus. Pete Jones (Home. Swain / Mnhowler. RClayton / Randy Wiggins. R. Keith Peck / Araddion. RM Dexter. Robert Barhorst / Rab. Rachael Babyface King. Ralph Jones. Ralph X (Ral)Randall Rumper. Randi. Randolph Triquento. Randu. Rawcollegejockslut. Ray Dukes (Lonnie R. Ford)Ray Wilder. Real White Guy. Rear. Sentry. Rebel. Red. Dirt Writer. Redrush. Reid. 19. Remmy Meggs. R. E. M. Reprobate. Retta Michaels. RFBRhaven (Rhaven. Rhavenlore)Richard Howells (John Francis)Richard Kerry. Richard Smith. Rick Beck (Martin Miller, Joe Buck, Writers. Realm, Quills. Writers. Realm)Rick Masters / Succum. Rick the Dick. Ricky. Ricky FRicky Garcia. Riki Jacobsen. Rio Mack. Ritch Christopher (Of Blessed Memory)River Rat. RJ / RJ T1. 00. 00 / DJTyler. Robbie Webb / Webby. Robby Srrobcub. 32 / Rob Colton. Robert Borden. Robert Brown. Robert Costic. Robert Furlong. Robert Glynn. Robert Goater / winchesterbornbred. Robert Stray. F Hanlen. Rocco Talespinner. Rogue. Rollerboy. Ron Bertugli. Ron Levy. Ronald Frobnitz. Ronnie Andrews. Ronyx. Roy. Roy Reinikainen. Royal Red. Rubber Rider. Russell S. Ruwen Rouhs. RWGrwxxx. 13. Ryan. Ryan Edgar (Emo. Ducky. Ryan Leeds. Ryry / Zachary Ryan. Samdabisa (Chris A.)Sam Lakes. Sam Nifty. Samantha Kay. Samuel Taylor (Jared)Sanibel Boys. Savoir- Faire. Scarlet. Legg. Scat Gal. Scott Turner (Scotty. Scudder. Sean de Roche. Sean E / EKid. Ky. Sean Hamilton. Sean Roberts. Sebastian Fforde. Sequoyah. Serene Cherry. Seth Kirkcauldy. Seth Tubby. Sexual Deviant. Sexulot (Of Blessed Memory)SF Master. Shankashak. Sharp Harper. Shaun White. She. Who. Writes. Short Guy. Skylights. Short Boys- Pants. Sidney Gittler. Siktici. Silent Ninja. Simon 1. Simon Carter. Simon Harper (I N, Sharp En, Sharp Er)Simon Jones (Hongzhu. Siobhan, Darlene, and Mary. Smart Boy. Smokr. Soaringtoad / hkeylocalmachine / Talkingfist. Soul Lark. Stacy Gossett. Stan (Fsw. 99)Stan (Sneu)Stan Scott. Stanley. Starchild. Star. Sapphire. Steamgene / Larry Marion / Eagerfiftyguy. Steam Train. Stefan Schmidt. Stephen James. Stphen Scott. Steve Kafe / Johnnyraunch. Steve Rider. Stewart Ransom (Of Blessed Memory)Stories For. You (SFY, SFU)Stories. New. Story Teller / Storymeister. Storyteller. All Rights Reserved. The HTML5 drag and drop disaster. After spending about a day and a half in testing I am forced to conclude that the HTML5 drag and drop module is not just a disaster, it’s a fucking disaster. The module should be removed from the HTML5 specification straight away, and conforming browsers should disable it at their earliest opportunity pending a complete rewrite from the ground up. Web developers MUST NOT (in the sense of RFC 2. HTML 5 drag and drop. They should use old- school scripts instead. Before we continue I’d like to say that in general I thoroughly approve of the HTML5 specification. Exactly because the spec has such an overall quality I was so surprised (and, frankly, a bit confused and hurt) to find drag and drop a steaming pile of bovine manure. In fact, it’s so outrageously bad that I’ve gone on strike. I refuse to do any more research on drag and drop. Go do it yourself. Or don’t bother. I don’t care. What follows is a rant laced with profanity. No apologies. Drag and drop deserves no better. Who got us into this mess? Microsoft “designed” and implemented drag and drop way back in 1. IE 5. 0 was released. IE versions has supported it ever since. This specification was terribly bad, as we’ll see in a moment. Microsoft dropped the ball majorly here. Still, while Microsoft is to blame initially, the HTML5 WG and the other browser vendors are accessories to the crime. One of the guiding principles of HTML5 and its WHAT- WG precursors is to document everything that already works in browsers but previous Working Groups couldn’t be arsed to specify, such as inner. HTML and offset. Width. Although I thoroughly support that principle and see how it applies to the Microsoft drag and drop module, I still think that some form of critical reflection might have been in order in this particular case. Hixie said: The drag- and- drop API is horrible, but it has one thing going for it: IE6 implements it, as do Safari and Firefox. Now that is undeniably true. God knows why, but Firefox, Safari, and Chrome have shoveled it straight into their rendering engines, and critical reflection be damned. Only Opera has retained its sanity. Interoperability is very important. But not at any price. The price is too high when it comes to drag and drop. The transcript of my testing sessions. OK, so what exactly is wrong with the HTML5 drag and drop module? I’ll show you. Below follows an approximate transcript of my testing sessions. It shows you what I went through and why I wrote this entry. This was an exceptionally bad case. The worst I’ve encountered since the demise of Netscape 4, in fact. That’s why the transcript includes profanity. Lots and lots of profanity. Too many events. There are no less than seven events associated with drag and drop. This seems rather a lot for a series of actions that can be accurately described by the mousedown, mousemove, and mouseup events. In itself that’s not a disaster, just bad API design. We have to pick a few events and ignore the rest. WHAT?!? The drop event fires when the user drops an element he’s dragging. And, you see, dropping the element you’re dragging is the POINT of this entire module. So drop is the most important event. But it doesn’t fire. Let’s see .. And you have to cancel these default actions in order to drop an element. WHAT?!? OK, one more time: The dragover and dragenter events exist for the sole reason of forcing web developers who want to perform a drop action to cancel their obscure default actions. You’re kidding me. Nyaa, nyaa.. You bunch of fucking idiots don’t have the fuckingest clue what you’re doing! That’s how Java. Script events were designed to work. Maybe it’ll go away by itself. Do something else first. Return to normalcy. When I defined a dragstart event handler, the other events just stopped firing in IE. All of them. When I studied Remy Sharp’s test case, however, I found it works in IE8 despite the presence of the dragstart event. This is a strange inconsistency, especially since the spec is supposed to be based on the IE implementation. So either the spec has overlooked a special case in which all the other events are canceled, or IE sometimes doesn’t implement its own implementation. I’m guessing the latter right now. Browser bug #1. To be retested, ascertained, and documented. Phew, finally something normal. Maybe the .. Hey, this makes sense! Works everywhere? Next. dragthat and dragsomethingelse. In theory dragenter and dragleave could be great events, since they fire when you enter or leave an HTML element in the middle of a drag operation. If that element is a valid drop target you could change its styles ondragenter and ondragleave to indicate this fact to the user. With the spec being based on the Microsoft API, I expected dragenter and dragleave to emulate mouseenter and mouseleave. But they didn’t. Not even in IE. They’re based on mouseover and mouseout and suck every bit as badly. And their names are wrong. Mouseover and mouseout are terrible because they bubble up all the time and make it very hard to distinguish important events from unimportant ones. If I mouse over (or drag enter) a child element of the one that the event is set on, it also fires. And that’s exactly what we don’t want. The events will fire incessantly the whole time the mouse is above the element, and we have to work hard in order to distinguish useful events from useless ones. Mouseenter and mouseleave, on the other hand, fire only when you enter and leave the element they’re defined on, and they don’t bubble. That makes them much easier to use. They are Microsoft extensions, by the way, and excellent ones at that. They work only in IE. Note that originally mouseenter and mouseleave had exactly the same IE only compatibility pattern as drag and drop. Mouseenter and mouseleave are a good idea, drag and drop .. Guess what the other browsers chose to implement? No wonder web development is such a fucking pain with fucking morons in charge of the browsers. Wait, that could be construed as an insult to morons. Ah, what the fuck. Dragover, now, has nothing to do with mouseover. It’s exactly the same as the drag event, except that you can set it on any element instead of just the document. Or something. Whatever. Why do we need the dragover event if we already have the drag event? A very complicated default action. That has to be canceled. Absolutely, positively has to be canceled. Above and beyond the call of fucking DUTY. Then we have the draggable attribute that, when set to true, allows an element to be dragged. It only works in Firefox. Links and images are draggable by default. Actually that’s a pretty good idea. Wow, I can finally say something nice. But to whom? I’m assuming that draggable is an HTML5 addition because it doesn’t work in IE, and therefore I’m assuming I can congratulate the HTML5 WG with having had a good idea. You see, I can’t find the Microsoft documentation on drag and drop, so I can’t check whether draggable is supposed to be supported in IE. In practice it isn’t, that’s for sure.(If you know where to find the Microsoft documentation, don’t bother leaving a comment. Meanwhile I don’t care any more.)Safari fuckup. Next problem. In order to get drag and drop working in Safari, add this to your CSS! You. Wait, let’s rephrase that. A gentle question might help more than a rant. Dear Safari team, does “separation of presentation and behaviour” mean anything to you? Or drag effects? The drop. Effect property might actually set the drag effect. At least, that’s how I read the spec right now. I could be wrong here. I have no fucking clue what a drag (or drop) effect is, and you don’t, either. As an experiment I set the property to every single value the spec allows, and it made no difference whatsoever in any browser. Then I discovered I had to set effects. Allowed to all in order to decree that all drop effects (which really may be drag effects) are allowed. This made no difference, either — no browser reacted to my setting of drop. Effect by showing any of the now- allowed drag (or drop?) effects. Some browsers report the value of effects. Allowed as copy. Link, by the way. Just after I set it to all . A little creativity to show their good spirits, I presume. And why would I need to give permission at all? Setting drop. Effect to the desired value indicates that I command (and, by implication, permit) the effect to take place. Doesn’t it? I give up. Strike. If you’re still not convinced that drag and drop sucks, read Francisco Tolmasky’s article on bugs and problems he encountered. In fact, from his piece it almost seems as if the browser vendors have trouble implementing drag and drop. Gee, I wonder why that is. But I’m not going to figure it out. I’ve had enough. Any unanswered questions you might have after reading this piece will remain unanswered for all eternity, as far as I’m concerned. I don’t see why I should spend another two to three (unpaid) days on this pile of junk. Go do your own research for a change. And don’t bother leaving pointers to useful articles and stuff. I just don’t care any more, and I’m certainly not going to read them. I’m on strike. Comments are closed.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2017
Categories |