2

我的 dotnetnuke 网站在 IE9 中看起来不错,但在 IE8 和 IE7 中中断。

我试过元标记:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

但如果我把它放在 ascx (第一行)但它没有出现。如果我把它放在页面设置 - 标签中,它会显示在标题的底部。所以它也不能那样工作,如何将标签放在顶部或有其他方法吗?

提前致谢。

4

3 回答 3

3

您可以使用一些代码来添加指令。在您的皮肤中(或者,在每个皮肤控件引用的控件中),添加以下内容:

<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

于 2013-02-26T22:53:50.847 回答
2

我不建议这样做,但您可能需要将其添加到网站根目录中的 default.aspx 中,如果您这样做,则需要记住在将来升级 DNN 时再次执行此操作。

于 2013-02-26T21:12:02.290 回答
0

我以前从未见过这样做,但这是在使用 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。

于 2013-07-24T18:38:39.697 回答