views:

168

answers:

1

I have a web page that links to another web application, which unfortunately only completely functions in IE, so, when viewing the original page with another browser (like Chrome or Safari) I display a warning that the application won't operate fully operate unless opened in IE.

Of course, some savvy users of Firefox have the IE tabs extension and have configured it such that the problematic web application always opens in an IE tab. These users would prefer it if my intrusive warning weren't shown for them as it is not necessary.

So, is there a way that my web page can detect that the URL will open in an IE tab? I presume it would require the extension to expose this information somehow as Firefox does not generally allow javascript access to settings for security reasons.

+2  A: 

well I am not sure how FF's IE tab works but I assume they share cookies set a cookie when it is IE and check whether it exists and do not show the warning. This will only remove the warning after first usage if my assumption about cookies is correct.

Second is more hacky, use css :visited puseudo styles to detect whether your user has ever downloaded the XPI of firefox tabs.

M. Utku ALTINKAYA
If I am reading this correct it would rely on me being in control of the IE-only site, which I am not, unfortunately.
Jeff Yates
I assume you have a link to this particular page on the site, and some users configured that it will open in IE tab. Why don't you change the link to point a redirect page that you can get information about the user agent there. You can set the cookie on that request.
M. Utku ALTINKAYA
You could also use a fancy jquery-ui or yui type of dialog with a "don't bother me again!" checkbox.
Shawn J. Goff
**@M. Utku ALTINKAYA:** That's a great idea, I'll see if I can make it work for my specific scenario. Thanks!**@Shawn:** I don't want to implement this because then it won't serve its purpose. Experience tells us that people opt to never see the dialog again and then forget whatever it told them - which in this case is a problem.
Jeff Yates