There is a legacy application built on Spring Webflow and RichFaces. Now, we have developed an application which is being rendered inside a modal window from the legacy app. The problem is, it works perfectly fine in Chrome, FF but IE. Some how the legacy application is rendered in IE7 document mode and when we open the new application in modal, it breaks everything. The CSS and JS are not working. I tried using the X-UA-Compatible tag and have valid <!DOCTYPE HTML> tag, still the issue persist.
Is there a way to solve this issue? How can we render the new application in Document Mode 10 or above?
If the site is in an iframe, then you would need to set the X-UA-Compatible meta tag on the parent page that contains the iframe.
If you can't do that, you might at least be able to get the legacy application to render in IE11 mode by turning off Compatibility View, if it's currently on.
Related
It says - Object doesn't support property or method 'addEventListener'.
- jquery-1.11.1.min.js
- jquery-migrate-1.4.1.js
I'm using client base application (https://www.clientbaseonline.com), which is supported only by Internet Explorer.
Everything works fine chrome and IE-11 as well but when I run the project in client base application which is kinda i-frame of IE 11, I get the above error.
I have tried this fix but it doesn't work.
Please help me with this. Thanks!
What document mode are you in?
If you press F12 what do you see in the emulation tab?
If you aren't in at least docmode 9, you don't have access to that.
Take a look at this stackoverflow post about addEventListent
So if you are using a XUA Compatible Meta tag, then you need to check to see if you are running in either Compatibility View or EnterpriseMode, as they can take precedence over the meta tag.
The good thing about the emulation tab in the console is it will tell you WHY you are in a specific document mode. If you are in Enterprise mode, you will need an exception to your sitelist.xml. Or if you are in Compatibility View. You will need to edit the settings. Hold alt then click on the tools menu. Then select compatibility view and remove the site from the list.
Thanks Alex for you help! It did helped when I got my mode to turn "Edge" which actually was not default(default was 9). I also added this meta tag <meta http-equiv="x-ua-compatible" content="IE=edge"> before in my site.master.
But Then I read somewhere that I have to put that meta tag at top of the all the meta's and just after the title in . So now its working fine even though I don't turn my compatibility mode to Edge. Obviously the mate tag overrides the mode. Still issue arises when using jquery 3.2.1 (latest) and got working in jquery version 3.2.0.
Strange! If any one has view to share please acknowledge here.
I am reading and looking for answer for days and couldn't found one, hopefully this thread will bring salvation :)
In my company we have a web app that is working on IE8.
We are trying to migrate to IE11.
We almost there but,
We have an old module that is written in an old framework that is hosted in an iframe and running in quirks mode(define with meta http-equiv="X-UA-Compatible" content="IE=emulate7" or IE=5, I tried both).
As long as the parent/main window is rendered in IE8 document mode (via x-ua-compatible meta tag) or in enterprise mode, the iframe works fine.
But as soon as I change the parent/main window to IE=9 and above, I get javascript errors from the child iframe (more than I can handle).
I understand that IE11 uses emulator for quirks mode and not the real engine, but I can not find anywhere details about the javascript engine.
Does this mean that if the parent main window is rendered is IE9 and above, the child iframe will use ECMAscript 5 and not jscript as it should?
is there any solution to my problem?
thanks guys!
Starting with IE10, the child mode can be different from the parent.
See this link. It says...
IE9 mode displays the child frame in standards mode (because the
parent document is in standards mode). Starting with Internet Explorer
10, however, child frames can emulate quirks mode. For more info, see
IEBlog: HTML5 Quirks mode in IE10. For best results, however, use
document modes consistently.
Starting with IE9, frames were limited to the document of the parent document, e.g. if the parent document rendered in standards mode, child frames were forced to render likewise.
Perhaps one approach would be to revise things so that your IE9+ window presents links to open your legacy app in a new parent window, one that presents whatever document mode your child frame requires.
You can use showModelessWindow to open a child window containing a separate HTML file, one that initiates the correct document mode in the parent document...and then loads the IFRAME you're working with. Example code:
var sOptions = "scroll: no; status: no; resizable: yes;";
window.showModelessDialog("myFrameContainer.html", "", sOptions );
I'm developing a data visualization page for an intranet using d3.js. The page needs to render in Internet Explorer, which causes trouble since all the intranet pages are rendered in quirks mode. This makes IE throw an error when loading d3: SCRIPT5009: CSSStyleDeclaration is undefined, which then prevents the rest of d3 from loading.
The page works as intended when rendered by by other modern browsers or by IE9 in standards mode, so I believe quirks mode is the problem.
Other limitations, and things I've tried that don't work:
The page is served by a templating system (IBM Cognos) I don't have control over. Setting <meta http-equiv="X-UA-Compatible" content="IE=edge"> is therefore not an option, since I can't modify the header.
Setting the equivalent tag in the HTTP header is also not possible.
If I add a meta tag to the <body>, the only part of the page I have any control over, IE will ignore it.
IE's F12 tools claims it's in document quirks mode, although the browser itself is in IE9 compatibility mode. Changing the document mode manually causes the intranet site to reload the page and navigate back to the parent page. I have no idea why.
Unchecking "Display intranet sites in Compatibility View" in the compatility view settings does nothing.
At the moment I can think of two ways to solve this: either force IE to render in standards mode, or somehow rewrite d3.js so as to avoid using CSSStyleDeclaration, which causes the crash in the first place. I have no idea how to proceed for either of these.
I have a GWT web app. When I use
element.setAttribute("style", myAttributeList);
it perfectly works for IE7 (*)
Now comes the tricky part. I embed my web app, served at http://www.myGWTApp.com, in a web page with a different domain using the typical iframe tag:
<iframe src="http://www.myGWTApp.com" height="194" width="600"></iframe>
As a result of this the app works perfectly well except for every element.setAttribute( , ) that I have in my code, which doesn't work at all.
So, GWT has lost its magic when running from inside an IFRAME...
Do you know any way to solve this? Perhaps using JSNI?
Thanks!
Edit
The embedding page contains the following HTML tag:
<meta content="IE=EmulateIE7" http-equiv="X-UA-Compatible">
so, the app is running in IE7.
(*) I'm aware that the JS setAttribute is broken for IE7 but
apparently GWT does a good job and isolates Java programmers from that
issue (when no iframes are involved)
Verify that the container page and your app in the iframes are both running in standars mode. Also check that the host page doesn't have any X-UA-Compatible meta-tag
I am currently in development of a bookmarklet that triggers a fancybox Iframe when an image is clicked on a website. This bookmarklet works great in all browsers except IE 9's Quirks Mode. In fact, it not only screws up the rendering of items on the screen, but items within the Iframe as well. I'm looking for a solution to force IE into standards mode. Especially on pages where there is no Doctype declared. In fact a static image on a page is our current test for the bookmarklet.
Success equals -
1. Launching the bookmarklet on a Quirks Mode page
2. Having the fancybox iframe load in the proper location on screen with proper rendering
Thanks in advance for any help that can be provided.
I'm looking for a solution to force IE into standards mode.
I'm pretty sure there is no way. Changing the rendering mode with Javascript just wouldn't be a scenario that anyone would consider necessary or beneficial; your use-case is just too obscure.
Success equals - 1. Launching the bookmarklet on a Quirks Mode page 2. Having the fancybox iframe load in the proper location on screen with proper rendering
If fancybox won't work, then try out alternative solutions: http://www.google.com/search?q=jquery%20lightbox