Here is a list of browsers I test on:
Here is the newest version of my progress bar:
I'm back for a small article on a new object I threw together called genericDao. I created this object for a quick project I was working on for my brother's DnD group, with the hopes of being able to access multiple tables with the same object with minimal setup. I got the basic idea from talking with a friend (Alan Szlosek). He told me how he was working with a new class type that allowed him to access database rows as an object. This object would retrieve, cache (when necessary), insert and update 1 row of a database table with little or no set up needed. Now since he used PhP to do it, and php classes have some functionality that I am lacking with CF, my implementation is not as clean as his probably is. Please note, that I understand my friend did not invent this type of database access, its around for quite a while if I"m not mistaken. he is just the one who told me about it. Ok, now that I've gotten the disclaimer out of the way, I can move on...
Ok, so I have this friend. A great coder in all aspects. He's actually what you would call my Teacher, though he is younger than me and even he will admit I have surpassed him in ColdFusion knowledge (he's strictly php for web dev now). For today, I'll call him switchprog. Switchprog has this great page called GreaterScope. Anywho, so one day he mentions this new way of doing content to me. He calls it 'QuickContent'.
So, I decide I need to know more about this 'quickContent' thing of his, so next time he's in Town we head down to the local R.J. Gators for som grub and to take part in our 4-5 hour ritual of talking code with each other. So he tells me in more detail about quickContent and even has brought me printouts of his code (YEAH!!!). It realy looks interesting to me, so I decide that I need to look further into the posiblity of using it for my own ventures.
The way QuickContent works seems really revolutionary to me, but please understand, I am relatively new to programming in an OO enviroment. I wrote MeiliBox OOP to help understand it, but at the time I was introducted to quickContent I still had trouble understanding the finer points of OOP. Ok, so here we go, I will discuss in detail my implementation of quickContent..
Well, I have to say that I've been proven wrong, since the page you are looking at is brought to you by the graces of XML/XSL Transformations. I decided to go with the HTML 4.01 Strict DTD as opposed to the Traditional DTD. To my amazement there was a lot that has changed since earlier versions. Workarounds that don't work anymore, and tricks that sadly I'll have to find workarounds to do again until all the browsers are 100% compliant. Then again, maybe these tricks should be considered bad practice and not done. Either way, that is not in the scope of this writing.
One thing I did run into was that, as opposed to the Transitional way, is that 100% now seems to mean 100% of the parent node. I was quite accustomed to using tables that had heights of 100% then setting one of the TD's to 100% to get the layout to span the whole page. That still works as long as you are content that you can only have one row, not multiple rows. When you add another row to the equation, the browser simply pushes the table down by the amount of pixels that the new rows uses (100% of the table's initial height + xPX for the new row). This was of course unacceptable for me, and I had to go on a crusade for a fix.