Regarding your "dilemma", which sounds like a different issue altogether, I would really avoid calling index.php on every controller call. That's your fundamental issue I think. If you must, I suppose you could use the Session to track a user's calls to the various pages.
But index.php should be an entry point ONLY, and any further code logic that gets executed should remain completely unaware of its very existence.
Regarding Browser Detection:
To my knowledge there is currently no established ZF component that determines the browser for you. There are two ways to go about this. One is to check the browser based on the User Agent string using $_SERVER["HTTP_USER_AGENT"]
.
The other way, of course, is client-side detection. Most JS libraries provide methods to do this; as most jQuery users are aware jQuery has deprecated its jQuery.browser
features, but they are currently still available.
As indicated at http://docs.jquery.com/Utilities/jQuery.browser however, it is recommended that in place of client-side browser detection, you check for the specific features you need.