Browser capability detection

Can anyone point me in the right direction… looking for a robust way to check the following on a test server.

  1. Is the browser showing images (ie images not turned off)?
  2. Are plugins enabled?
  3. What version plugins are available (FF & IE & Safari)?
  4. Is JS support is on?
  5. Was a specific swf file requested by the server?
  6. Did the swf file load fully?
  7. Was the CSS file called?

Not sure if these are all possible in JS, might also need php.

Even if I can just get some guidance on 1 or 2 points, it would be appreciated,

Thanks,
Pablo
[FONT=Arial][/FONT]

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.

Maybe if you described what you intend to do if the browser fails some of those tests, it might be easier to help you implement the tests.

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.

Thanks,
Pablo

PS… well done on finding the M$ ClearType problem. Would never have thought of that.