How can I get an html5 page to render in MFC - html

I need to render an HTML5 page with jQuery in a CHtmlView in an MFC application.
The page renders rather pathetically, and I get a syntax error when it gets to the jquery script tag.
I've tried the following:
<meta http-equiv="X-UA-Compatible" content="IE=11">
It did nothing. I even upped the MSHTML browser version to 11 in the registry and get the same syntax error. I really do not want to go back to IE6-style javascript. Can someone help me please?

Apparently the meta tag does solve the issue. What I didn't realize was that my html view was running in a frameset, and the directive is ignored in a frame of a frameset. Does anyone here even remember framesets? Anyway, adding this line and removing the frameset was the answer:
<meta http-equiv="X-UA-Compatible" content="IE=11">

If you don't set the correct browser Emulation for your application this will not work.
Please read this MSDN article.
So create an entry for your application in FEATURE_BROWSER_EMULATION and set the Version to 11000!

Related

Document mode defaults to 8, though using IE11. Why?

I have a problem that my webpage does not display as i wish it to do.
When opening the F12 developers tool in IE11 it says "Document mode: 8 (Default)".
If i change it to mode 9 or higher the page displays as i want it to do.
My code is included in the host web page through an Iframe. I do unfortunatly not have access to edit the host code. The host code includes the code:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
I thought this code would ensure that the code was not shown in document 8? The code is included at the end of the head tag, with 88 lines of code in front of it. Could this be what is causing it to use document mode 8? How can i work around this when i am not able to edit the head code?

Google Map not displaying at all in IE10

The current webpage isn't showing the gmap at all under IE10 but all the other browsers are able to display it properly. Can someone guide me through a possible solution?
I've tried the
META http-equiv=X-UA-Compatible content=IE=9
and
META http-equiv=X-UA-Compatible content=IE=edge
without success!
I'm currently using drupal 7 for the website and a gmap module.
Thanks for the replies
I have identify your error why it is giving this error it is because You have set this meta tag
<meta http-equiv="X-UA-Compatible" content="IE=8">
As per IE10 Browser Standard mode and Other Browser version IE8 Standard which is not support the Console's Following method
Console.log();
Console.info();
Console.warn();
But, If you can set the IE mode to 9 it will be work.
In IE10 Version there is 4 different methods are available in which Console.dir() is used instead of above 3.
In your Javascript file give this error:
"SCRIPT438: Object doesn't support property or method 'warn' Bmain,adsense,geometry,zombie.js, line 70 character 35".
In that case you cannot change the javascript because it is load from the Google CDN.
So, possible you can add the following to your HTML will help you to change the Document Standard Mode to IE=9.
<meta http-equiv="X-UA-Compatible" content="IE=8">
Reff: http://msdn.microsoft.com/en-us/library/ie/jj819729(v=vs.85).aspx

Compatibility issue in IE8 - ASP.NET MVC 3.0 intra application

We have been developing ASP.NET MVC 3.0(Razor & HTML 5) application with IIS 7.5. The site should run on IE8.
The site content displays properly when the comaptibility mode is OFF. But, if it runs with compatibility mode on then the few elements goes outside horizontally.
As the company's IE policy, all the intranet application runs under the "Compatibility Mode" hence I can't change that part.
What should be possible solution?
1. Is there any way when the application url gets renedered, I explicitly instruct browser to not run under compatibility mode (programmatically)?
2. Is there any ways in IIS 7.5 to enforce rendering targeting IE 8.0+?
3. Do I need to target to HTML 4.0 and convert all the fuzzy css/html targeting older html version?
I am seriously out of idea. It may possible the above direction points are also logic-less.
Please suggest somthing on this.
You'll need to set the X-UA-Compatible header. You can do in at least two ways:
Add the following to every page:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Or you can tell IIS to send it with every response following these instructions to set custom headers to every response.
For a list of values you can use X-UA-Compatible look at this page.
Add this <meta> tag inside <head>:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
This should force IE to use the most up-to-date rendering engine available.

any side effect if I add ' <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">' on my page?

HTML5Boiler plate suggests we put this one in our HTML page if we favour Chrome over IE
(which is my case)
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
We all understand how it works.
If the user is using IE but it has also installed the Chrome Frame the chrome frame will be used to run the page (which is probably much faster when it comes to execute my js)
The question: is there any 'bad' side effect ?
any particular reason why I should not add that snippet ?
Thanks
The only downside I know about this snippet is that validators don't accpet yet the content value of this meta (even if they should), so if it seems annoying to you, just remember you can also specify it inside an .htaccess (as suggested also on html5 boilerplate site)
See https://gist.github.com/1292092 for an example of htaccess inclusion
See also this thread about meta validation
This does not have any downsides.
This will force the browser to render as properly as it can, ignoring those awful IE Compatibility modes.
This will not break the browser, just peacfully explain to it, that this page doesn't wish to be experimented with, and just to be shown properly.
There are in fact downsides to this meta tag (along with conditional comments) which is why we recommend you reference it from the server. See this issue for details.

Meta-refresh doesn't work?

I have a page using something along the lines of
<meta http-equiv="refresh" content="0;url=http://example.com/" />
but for certain users on a certain workstation this doesn't work. The is in IE. Is there something wrong with cookies or a setting somewhere which would cause this to fail? I never heard of such a thing.
The problem is that when IE sees this:
<meta http-equiv="refresh" content="0;http://www.example.com" />
it expects the contents attribute to contain a number. The only time IE will check for a URL is if the content attribute contains "URL=" so the redirect that is most usable in all browsers is this:
<meta http-equiv="refresh" content="0;URL=http://www.example.com" />
The above example would redirect immdetiately but if you changed the 0 for another number it would wait that many seconds. Hope this all makes sense, it should work just fine but I still think my first idea was the better one.
There is a security setting in internet explorer that does not allow meta tag refresh. It is under the Security tab, then choose Custom Level and the Meta Tag Refresh under Miscellaneous. If that is disabled, it would stop the meta refresh from working.
Aside from being able to disable it selectively, it is automatically disabled if you set IE's security level to 'High' [observed in IE9].
is it a really old version of IE? if so, try:
<meta http-equiv="refresh" content="0;url=http://example.com/"> </meta>
It needs a white space. HTML editor will complain, but just ignore it.
Check out this solution. It handles both javascript and meta-refresh at the same time:
Meta-refresh and javascript
The META tag is not an empty tag and does not have a closing tag in HTML, only in XHTML. (If you are really are sending XHTML, it may not work right on older versions of IE anyway, there are only workarounds to send XHTML to older IE versions.)
Try:
<meta http-equiv="refresh" content="0;url=http://example.com/">
W3 Schools META Tag Description
You might also try:
Checking the major and minor versions of IE. You can do this on the help->about menu option.
IE has historically gotten all confused by filenames and MIMEtypes. Make sure that you are sending your HTML as an htm or html extension file, and that those filetypes are set up on your server to send text/html mimetype.
Make sure your server isn't sending a conflicting meta refresh http header.
In case anyone tries to use meta refresh to redirect to new URL in Facebook applications ( either Page Tab app or IFRAME app ), the tag is disabled by Facebook somehow.
Workaround is:
<script>
top.window.location = 'http://example.com';
</script>
Remember to target "top", as Facebook applications are in IFRAME.
Just a wild guess: maybe there are some adblockers installed on those machines where the redirect does not work.
Can't think of any other reason why this common technique works on some machines while it fails on others for you.