Well, you definitely cannot check if javascript is enabled by using javascript. It should be done on back-end.
For the rest, you might want to look into object detection in javascript.
What exactly are you trying to accomplish with all of them? So many conditions on load might increase the initial load time quite a lot.
Thanks for the replies, i’m just trying to establish what someone is actually seeing when they access a test site. I was looking for a way of generating error logs - info about the browser type & setup, and what actually loaded/froze/stalled, was JS on/off was Flash installed/working/version number etc.
Not everyone I deal with understands the above, so I wanted a way of verifying their browser setup, this way I can tell if its something is wrong at their end, or if I need to spend days on a redesign… only to find out it was something at their end the whole time…
Basically, I need to capture as much browser and download info as possible and save it via php.
Oh, yeah. I can relate to that. I just had a client a few weeks ago who kept complaining about the design breaking on a certain part of the page on just a couple of machines (out of about 50 at their office). It turns out that they had turned on M$ ClearType fonts on those two machines. I just had to adjust the padding on one div by 1 pixel to fix it, but there’s no way they could’ve communicated what the problem was without me driving 45 minutes over to their office to look for myself.
I’m sorry, but I don’t know how you would really go about that. I think the first thing you’d want to do is establish the user agent, and then check if javascript is enabled. There is a class here: http://code.google.com/p/phpbrowscap/
That updates and parses the browscap.ini file, which can give you information about the capabilities of the user agent, but it wont really help you access the user’s settings.
Thanks for that - looks interesting. From the comments, it sounds like its still in developement, but shows promise. Thats defo the kind of thing i’m looking for.