sobrescribe la meta compatible con X-UA en SharePoint 2010
sharepoint-2010 internet-explorer-10 (2)
Entre las formas de cambiar el modo de compatibilidad para la página dos de ellas, parece prometedor:
-
X-UA-compatible
HTTPX-UA-compatible
: el servidor web ha solicitado un modo de documento heredado a través de un encabezado HTTP. -
X-UA-compatible
: el desarrollador de la página web usó una metaetiqueta para especificar un modo de documento heredado.
La página maestra predeterminada de SharePoint 2010 codifica la metaetiqueta X-UA-Compatible
y la metaetiqueta tiene prioridad sobre el encabezado HTTP, por lo que no se puede hacer a nivel HTTP. Esto nos deja con la segunda opción.
Parece que la primera metaetiqueta X-UA-compatible
encontrada en la página es utilizada por IE (aunque es ambigua en diferentes artículos y falta en la documentación de MSDN). Si escribe SharePoint UserControl o WebPart, puede agregar este código, por ejemplo, en el método Page_Load()
para agregar este encabezado como el primero:
HtmlMeta metaEdgeIE = new HtmlMeta();
metaEdgeIE.HttpEquiv = "X-UA-Compatible";
metaEdgeIE.Content = "IE=EDGE";
Page.Header.Controls.AddAt(0, metaEdgeIE);
donde HtmlMeta
proviene del espacio de nombres System.Web.UI.WebControls
.
Al iterar a través de Page.Header.Controls
probablemente también pueda encontrar y eliminar la metaetiqueta agregada de manera predeterminada por SharePoint, aunque el código anterior parece suficiente para activar el modo Edge en IE11.
Estoy trabajando en SharePoint 2010 y quiero usar <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
para una página específica. La página maestra lo establece en "IE = 8", lo que no me permite usar la sombra de cuadro en CSS, por ejemplo
No tengo acceso a la página maestra para cambiarlo. También he leído que no se recomienda cambiar esa meta en la página maestra ya que podría causar problemas con otras cosas como calendarios o lo que sea.
Entonces mi Q es: ¿hay alguna manera de sobrescribir la metaetiqueta X-UA-Compatible en una página simple (.aspx)?
Si puede editar la página maestra y solo desea cambiar la compatibilidad de páginas particulares, puede adoptar un enfoque similar a buli (gracias), pero sobrescribir el contenido existente de la metaetiqueta. Para su metaetiqueta en la página maestra, dele un id y runat server
<meta id="metaIE" runat="server" http-equiv="X-UA-Compatible" content="IE=edge">
En la carga de tu página, encuentra el control desde el maestro, envía a HtmlMeta y cambia el contenido
Dim metaIE = DirectCast(Master.FindControl("metaIE"), HtmlMeta)
metaIE.Content = "IE=10"