Solved

conditional statement in html not working

Posted on 2013-06-19
10
165 Views
Last Modified: 2013-06-28
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
Comment
Question by:icecom4
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 34

Expert Comment

by:Paul MacDonald
ID: 39260388
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
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39260415
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
 

Author Comment

by:icecom4
ID: 39260436
@paulmacd
if I use the exact code you provided, both IE and Mozilla are ignoring it.

by the way I am using IE10
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39260470
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
 
LVL 53

Accepted Solution

by:
COBOLdinosaur earned 500 total points
ID: 39260488
<!--[if !IE]><!-->
      This browser is not supported! Please use Internet Explorer.
 <!--<![endif]-->

Cd&
0
 

Author Comment

by:icecom4
ID: 39260608
@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
 
LVL 53

Expert Comment

by:COBOLdinosaur
ID: 39260709
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
 
LVL 53

Expert Comment

by:COBOLdinosaur
ID: 39260728
For the server side in PHP:

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

for ASP:

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


Cd&
0
 

Author Comment

by:icecom4
ID: 39260831
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
 

Author Closing Comment

by:icecom4
ID: 39285068
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

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Someone recently asked me about how to display a progress indicator on a page while an iframe is loading. And I remember when I first came across this myself. It was a bit tricky to get my head around, but really, it's very simple. The most impor…
Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
In this tutorial viewers will learn how to embed videos in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <video> tag to insert a video. Define the src as the URL of your video; this is similar to …

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question