我的 dotnetnuke 网站在 IE9 中看起来不错,但在 IE8 和 IE7 中中断。
我试过元标记:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
但如果我把它放在 ascx (第一行)但它没有出现。如果我把它放在页面设置 - 标签中,它会显示在标题的底部。所以它也不能那样工作,如何将标签放在顶部或有其他方法吗?
提前致谢。
我的 dotnetnuke 网站在 IE9 中看起来不错,但在 IE8 和 IE7 中中断。
我试过元标记:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
但如果我把它放在 ascx (第一行)但它没有出现。如果我把它放在页面设置 - 标签中,它会显示在标题的底部。所以它也不能那样工作,如何将标签放在顶部或有其他方法吗?
提前致谢。
您可以使用一些代码来添加指令。在您的皮肤中(或者,在每个皮肤控件引用的控件中),添加以下内容:
<script runat="server">
private void Page_PreRender(object sender, EventArgs e)
{
var meta = new HtmlMeta();
meta.Content = "IE=edge";
meta.HttpEquiv = "X-UA-Compatible";
this.Page.Header.Controls.AddAt(0, meta);
}
</script>
这要求在Control 指令AutoEventWireup
中为真。否则,您还需要覆盖或类似的东西来手动连接事件。OnInit
我不建议这样做,但您可能需要将其添加到网站根目录中的 default.aspx 中,如果您这样做,则需要记住在将来升级 DNN 时再次执行此操作。
我以前从未见过这样做,但这是在使用 IE 9 时模拟 IE 8/7 的方式:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
如果没有,那么试试这个:
<meta http-equiv="X-UA-Compatible" content="IE=9">
将这些与其他元标记一起添加到您的标题中。这应该强制 IE10 呈现为 IE9。