Вопрос

I am wondering if someone can help me with the "X-UA-Compatible" tag with regards to launching a modal dialog.

I have the following page:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml" >
     <head id="Head1" runat="server">
         <meta http-equiv="X-UA-Compatible" content="IE=9" />
         <title></title>
     </head>
     <body onload="load()">
          <form id="form1" runat="server">
          <iframe name="fr1" frameborder="0" id="fr1" width="675px" height="550px"></iframe>

. . .

var src = http://someurl.web; 
document.all.fr1.src = src;

If I browse directly to this page (not to the http://someurl.web, but the page with the IFrame on it that points at http://someurl.web), the "X-UA-Compatible" stuff will work correctly, however, if I launch my page like below:

window.showModalDialog(urlToPage, "", "dialogHeight: 550px; dialogWidth: 800px; center: Yes;")

The "X-UA-Compatible" stuff is ignored. Why is this? What do I need to do in order to get that tag to be recognized when the page it is on launched via showModalDialog? This is happening when using IE9 on an Intranet site with "Display Intranet site in Compatibility View" Management will not allows to uncheck this, hence the use of the "X-UA-Compatible" tag.

Это было полезно?

Решение

As I understand it, in IE9 (and newer), if a page is launched in an iframe, the document mode will match that of the parent document, regardless of any X-UA-Compatible meta element or server header, unless the parent is using standards mode and the iframe specifies quirks mode. I'm not aware of a workaround.

See http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site-developers.aspx for more information.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top