开发者

Strange extra characters in rendered html on IE 8

I have an ASP.Net MVC site that I want to render some custom HTML 5 canvasses in. I am getting a strange issue with the server serving up extra characters that are not in the source code.

In order to use an HTML 5 canvas in IE 8 you have to add the following tag in the html head:

<!--[if IE]><script src="../../Scripts/excanvas.js"></script><![endif]-->

For some reason this is served up as:

<!--[if IE]>IE]>开发者_高级运维;<script src="../../Scripts/excanvas.js"></scr<![endif]-->

Of course the duff markup causes the excanvas script to not be loaded by IE. I can't understand why the line gets garbled. I have the following doctype which is documented at http://www.w3schools.com/html5/tag_doctype.asp:

<!DOCTYPE html>

I'm not familiar with using HTML 5 or the new doctype so I'm suspicious of it. I'm also hosting on Apache with Mono so maybe that's what's garbling the line.

The page in question is at: http://openancestry.org/FamilyTree/Simpsons

Anyone seen this before or know why I cant use the "if IE" syntax?

UPDATE: Well I'm pretty sure it's either Mono or Apache thats garbling the HTML so I've used the workaround below which adds a compatibility meta tag for IE8 and includes excanvas for any IE that predates IE9. I'd still appreciate any answers on why the HTML gets garbled.

<% if (Request.Browser.Browser.Contains("IE") && float.Parse(Request.Browser.Version) < 9) { %>
<% if (float.Parse(Request.Browser.Version) > 7) { %>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<% } %>
<script type="text/javascript" src="../../Scripts/excanvas.js"></script>
<% } %>


Before I answer, I want to point out that you are missing type="text/javascript" in your example.

It is possible that the ASP.NET parser in Mono is mangling your comment. What version of Mono are you using (and what platform I suppose).

I just tried this on Mono 2.10 on Mac and did not have this problem.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜