问题
I have an old application that uses frames (not iframes) was was written back in the IE6 days so it runs in quirks mode.
Is it possible (Using IE 7 or 8) to have one frame still in quirks mode and another in standards mode or must the whole browser be in one mode or another?
I've been trying with no success.
I've seen this answer, that applies to iframes, but what about plain-old-frames?
回答1:
I believe that you don't get the same option with frames as you do with an iframe. As the linked question's answer stated, the target in an iframe is not dependent upon the parent. In regular frames the pages all rely on the parent. I don't think you can separate the types out.
回答2:
I'm not sure if this helps, but according to the Mozilla Dev center Firefox makes it's quirksmode decisions based on doctype only.
https://developer.mozilla.org/en/Mozilla's_DOCTYPE_sniffing
You'll notice using the old frameset doctype triggers "almost standards" mode, which could show up as quirksmode.
回答3:
See my answer here for MSDN-documented solution for IE9: How to force Iframe to run quirks under a standard parent frame
In short, it is not possible to trigger quirks mode in a frame (or iframe) if the parent page is rendering in IE9 mode, but it is possible to trigger "quirks mode emulation" embedded in the IE9 rendering engine.
JSBin demo: http://jsbin.com/ozejuk/1/
Further reading: http://msdn.microsoft.com/en-us/library/gg558056(v=vs.85).aspx
回答4:
If you can modify the code (or HTML) of the application, you can add a meta tag (just below head), so it forces IE to render it in Quirks mode, like this:
<meta http-equiv="X-UA-Compatible" content="IE=5">
来源:https://stackoverflow.com/questions/4902255/run-quirks-mode-in-one-frame-and-standards-mode-in-another