• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 178
  • Last Modified:

conditional statement in html not working

I can't seem to figure out why this snippet of code is picky.  When I place it in most places within an html page, it does not work.  However I did get it to work in one seemingly random spot.  Is there something that I should add before and after to allow me to place it anywhere and work?  

The below code displays a message to non-IE users
<!-- [if !IE]> -->
		This browser is not supported! Please use Internet Explorer.  
 <!-- [endif] -->

Open in new window

0
icecom4
Asked:
icecom4
  • 4
  • 3
  • 2
  • +1
1 Solution
 
Paul MacDonaldDirector, Information SystemsCommented:
To begin with, it's not formatted properly.

<!--[if !IE]>
     This browser is not supported! Please use Internet Explorer.
<![endif]-->


Also, this:
http://stackoverflow.com/questions/13785587/if-ie-not-working
0
 
Dave BaldwinFixer of ProblemsCommented:
Only Internet Explorer support conditional comments, all other browser ignore such things.  You will have to use javascript browser detection to inform the other browsers.

http://www.w3schools.com/js/js_window_navigator.asp
0
 
icecom4Author Commented:
@paulmacd
if I use the exact code you provided, both IE and Mozilla are ignoring it.

by the way I am using IE10
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
Dave BaldwinFixer of ProblemsCommented:
All browsers but IE ignore conditional comments, they treat them as just plain comments.  And your statement [if !IE] tells IE to ignore it.  You have to use a different method.
0
 
COBOLdinosaurCommented:
<!--[if !IE]><!-->
      This browser is not supported! Please use Internet Explorer.
 <!--<![endif]-->

Cd&
0
 
icecom4Author Commented:
@COBOLdinosaur

Sorry, but your code always displays the statement in both browsers...shrug?

@ DaveBaldwin
Yes, this is what I want, a statement that IE will ignore and all other browsers show the statement!
0
 
COBOLdinosaurCommented:
You probably need to use javascript:

var isIE= (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) ? true : false;
if (!isIE) document.write('You need to use Internet Explorer fot this page');

Or do it properly by detecting on the server and send a page with just the message instead of wasting bandwidth sending the whole page.

Cd&
0
 
COBOLdinosaurCommented:
For the server side in PHP:

(eregi("MSIE", getenv( "HTTP_USER_AGENT" ) )

for ASP:

InStr(1, Request.ServerVariables("HTTP_USER_AGENT"), "MSIE")


Cd&
0
 
icecom4Author Commented:
not sure why, but if I place this immediately after the header and nowhere else it works!

example...
<body style="background-color: #FFFFFF; background-image: url('')">
</body></html>

<!-- [if !IE]> -->
		This browser is not supported!&nbsp;&nbsp; Use the &quot;Internet Explorer&quot; 
		shortcut on your desktop to start NextGen.
 <!-- [endif] --> 

Open in new window


sigh...that was fun...and annoying
0
 
icecom4Author Commented:
this is the right code, but requires spaces before the dashes.  I was able to get it to work by placing in a specific place in html code.  It is also unstable, and does not always work depending on network conditions for some reason.  

I am abandoning this idea, will search for another way.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 4
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now