justira ([personal profile] justira) wrote2006-07-24 02:57 pm

I can't get the fucking trees… Damn! I will kill everyone in the world!

Replace "trees" with "Internet Explorer" and you got it about right.

Those of you who don't get the reference are lame, by the way.

Regardless! I am soon to explode with wrath at Microsoft. See, I program for a living. Currently this invloves less programming and more web design, but I still work with languages and getting programs to cooperate. Currently, I am trying to get a piece of JavaScript/DOM Scripting to work in IE.

See, the funny thing is, I wouldn't need to be tearing my hair out about this shit if IE were a goddamn proper browser in the first place. It has one thing going for it: its extremely forgiving nature in the way of whether you can write HTML correctly (goddammit it's not even that hard) made it possible for millions more people to make webpages.

The thing is, those webpages don't work in any other browsers. You know. The ones who PROCESS THE GODDAMN CODE CORRECTLY.

But IE is the most popular browser, right? So what if the way it processes web languages isn't the way that the W3C recommends and all other browsers adhere to? Majority rules, right?

Well, okay, that train of thought is going in the same direction as this article, which advocates phonetic spelling. The thing is, everyone spells differently. So what if the majority of Americans can't spell the language they speak? We need standards, or else that nice thing we call SHARED LITERACY will go away rather quickly.

Same thing here. It was nice of IE to help the Internet boom along and all, but now it has to deal with the fact that if it parsed code in a sane manner, all those websites it fostered would break =D

For responsible web developers, this means that we usually need to give our "special" browser friend a hand.

In this case, IE is being a complete ass. I had to invent a medium-length Javascript workaround for something that in Safari or Firefox can be accomplished with one line of css:

li:hover {display: block;}

There. Done.

However, I have been trying to get IE to accomplish the same result for the past... four? four or five hours.

The usual solution in these cases is to Java/DOM script a class with an onMouseOver event onto whatever needs hovering. Yeah, sure, that works. The problem is getting it to do it on an item nested in another item that's receiving the same treatment.

Screw you, IE. I'm just trying to get the goddamn dropdown menus to work. First tier works just fine, BECUASE I'M GOOD LIKE THAT, but the second tier just WON'T catch.


I have an unordered list, which is the first tier of the menu. Inside is another unordered list, attached to one of the items in the first list, which is the second tier. It's like, say, going to the View >> Toolbars menu. View is the first tier, Toolbars the second. This workd JUST FINE in Firefox and Safari, but nooooo. IE has to be difficult.

The Javascript currently tacks on an "over" class when you hover over something and takes it away when the mouse leaves the object. That's pretty standards, that works great. The problem comes when I need to tack on a class to something that's being hoevered over that is a child/descendant of something that had to be hoevered over beforehand and already got a class tacked on. You little bitch.

Ugh. I think I have an idea, but still. This is just too goddamn annoying.

Anyway. IE makes my life difficult. Again.





I'm going home and drawing some gay porn now. Take THAT, Bill Gates!

[identity profile] milagremt.livejournal.com 2006-07-24 07:58 pm (UTC)(link)
Yeah, hover subclasses aren't supported for anything other than A tags in IE.

Here's a great workaround:
a:hover li


Hover inheritance still works!! I used this workaround for a page I'm currently working on. The only downside is that then you have to stick your
  • 's in an tag, which sucks but for me it made sense.

    I did this awesome css-only mouseover tool-tip type popup box for quickly viewing details of a calendar event. I can show it to you later =)
  • [identity profile] milagremt.livejournal.com 2006-07-24 07:59 pm (UTC)(link)
    so... livejournal interpreted my html... should have seen that coming :P

    I'm sure you can figure it out.

    [identity profile] justira.livejournal.com 2006-07-24 08:10 pm (UTC)(link)
    I know inheritance still works =P

    And nuh-uh, can't go sticking random anchors all over the place here. I have some really tight, clean markup, and I'd really rather have some clumsy javascript for ONE browser than go screwing with my pretty markup for ALL browsers.

    But show me the tooltip. I'm intruiged.

    Also, did you IM me or something? I thought I saw something from you but then my computer kind of crashed a little -_-

    [identity profile] justira.livejournal.com 2006-07-24 08:11 pm (UTC)(link)
    Also, that's invalid XHTML, I think, because then you're sticking block-level elements (li's) into inline elements (anchors). ul's can only contain li's as children, and then whatever else can be descendants of the li's. So, nope, sorry, I code valid =D

    [identity profile] milagremt.livejournal.com 2006-07-24 08:31 pm (UTC)(link)
    Yeah, it would be invalid for lists. I was applying that technique to SPAN tags, which wouldn't be invalid =P

    I'm trying to do this site w/o javascript, since you can turn that off, and I've learned a buncha cool css tricks ;) I'll show it to you if you IM me tonight.

    I did IM you:
    I'll be in NoVA this weekend, so I'll call you sometime.

    [identity profile] justira.livejournal.com 2006-07-24 11:14 pm (UTC)(link)
    This site already uses JavaScript elsewhere, which wasn't my decision. So I get a free pass on that one. Although generally, I prefer not to CREATE these situations in the first place, you know? >.>

    Yeah, call me. Probably house is better cause my cell number's changed. Better yet, email me. My address is still the same and cause I'm just that lame, I check it like every goddamn minute.
    ext_79737: (Default)

    [identity profile] auronlu.livejournal.com 2006-07-24 08:21 pm (UTC)(link)
    Now I don't feel so stupid for being bewildered at things like my LOTR newsletter lists looking totally different for some of my readers stuck on PC/IE, or my imagemap rollover woes in 1994 when it just didn't seem to WORK on IE.

    I remember 1993. We were all tearing our hair that HTML was half content-based and half display-based, and ecstatic that standards were coming out, and the basic goal (*pounds Microsplot*) was to come up with a completely universal code that was CROSS PLATFORM. That was the whole point. Yet another programming language that doesn't work for everybody? Lame. A series of codes known to all, which each browser could figure out how to implement locally, in whatever language, computer, or system desired? That's what the W3 consortium was for! Why go and invent a lot of non-standard codes and browser-specific stuff when (often as not) there was a standard way of doing the same thing already?

    When IE started doing Layers completely differently from Netscrape, I gave up. This was before CSS I think. And now I'm a dinosaur, haven't kept up with all the improvements in the last 10 years apart from basic CSS.

    Anyway, I feel your pain and admire/envy your expertise.

    [identity profile] justira.livejournal.com 2006-07-24 11:23 pm (UTC)(link)
    Oh yeah, I've got this huge stick up my ass with the words "web standards" and "separation of content and presentation" emblazoned on it with huge script letters. It's fantastic.

    Thing is, though, I really do believe in Web standards, and as someone who gets paid to design sites, I get really worked up about how the vaaaaaast majority of web development firms out there use outdated or downright BAD practices when making their websites. Yes, table layouts work reliably across browsers. But they are SO BAD on principle, and such a bitch to update. When I make a site, I try to make it easy to maintain, too. All the content is in the HTML, all the desing in the CSS. Design changes can be done by just popping in a new style sheet. Voila. I remember way back when I tried to redo my table-based layouts from the 90's. Dear God! Why would ANYBODY choose to do that on purpose??

    But yes. I may not have been on the Internet quite as long as you have, but I think I got more years on me than most, and especially most people my age. I beleive it's about.... 9 years of making websites now (not all of them professionally, of course!) and a couple more of just totteting around the net. So I remember the browser wars and spacer gifs and all of it and WHYYYYY would you choose to go there again?

    Anyway, a bit of a hot button with me. Cause I work really hard to keep myself up to date on standards and good practice, while other people get paid tons of money for being ignorant, bad-practice screwheads with no eye for either visual design or the elegance of well-done coding.


    On the other hand -- did you get a chance to take a closer look at my art feedback?

    [identity profile] trekqueen.livejournal.com 2006-07-24 11:45 pm (UTC)(link)
    *waves* Hi from a random friend of [livejournal.com profile] auronlu's.

    I totally feel your pain. *hugs* I'm a software person by trade as well and we currently are having major issues with IE too. The software we are testing WILL NOT work at all on IE so we use Firefox. Quite annoying though. Plus, for some reason this other software of ours won't work on Firefox so we have to use IE because it actually works there. -_-' ugh!

    And I agree, without some sort of rules/standards there would be chaos and anarchy. ^_^

    [identity profile] justira.livejournal.com 2006-07-24 11:58 pm (UTC)(link)
    Hi there! Always nice to hear from someone else in the trenches ^_^

    Yeah, in almost every case, if IE is doing something the other browers aren't then it's probably doing it wrong. There is *one* things I think IE got right that the W3C didn't. If I recall correctly, the W3C specs for XPath have all indexing starting at 1.

    What. The fuck.

    Programmers know: indexing starts at 0.

    So the W3C recommends 1, but I believe IE actually implements it with starting at zero. Which is great based on general programming practice, but then guess what! Your XPath code works WAY DIFFERENTLY in other browers. So, really, I understand that the standard is... not good... but still -_-;;


    Anyway, yes, hi! Glad to meet you, even if I'm in a bit of a pissy mood today. I did finally get IE to cooperate; it just really, really shouldn't have taken that long, you know?

    [identity profile] trekqueen.livejournal.com 2006-07-25 12:02 am (UTC)(link)
    Totally understand. :)

    Yea, that indexing thing is pretty screwed up. It is well known in progrmaming circles be it combo/dropdown boxes or arrays. Maybe they were trying not to confuse the laymen? *shrugs* Not like they would be using it anyway, we who know better do of course.

    No matter about the pissy stuff, I get that way too from time to time. ^_^ especially when things go wrong.

    [identity profile] justira.livejournal.com 2006-07-25 12:09 am (UTC)(link)
    Yeah, I think it was an attempt to make the set of XML technologies more user-friendly to people that weren't programmers? Which is... um... I understand where they're coming from but first of all not many laymen use XML and very few do so to the extent that they get into serious XPath work. Second of all, even if you don't have previous programming experience, if you're going to delve that far into IT, per-maybe-haps you should be learning standard industry practice, mmm?

    As for the pissiness, it will hopefully go away, seeing as I have busted out the Ben & Jerry's ;)

    [identity profile] trekqueen.livejournal.com 2006-07-25 12:12 am (UTC)(link)
    yea it is like a catch-22... no matter what you'll still end up having to know basic programming standards. bleh.

    I want ice cream. *sniffle* it is way too hot here. >_< no more!!!

    [identity profile] nightmaren.livejournal.com 2006-07-25 10:20 pm (UTC)(link)
    haha, funny story, i've actually been working with a similar task or two at my job. I've been pretty much cursing IE the whole time too, especially for positioning large tooltips. Onmouseover is just a pain in the ass, actually.