强制Sharepoint页面进入content =“IE = edge”

时间:2016-03-22 01:15:32

标签: javascript twitter-bootstrap sharepoint sharepoint-2010

我正在使用Sharepoint 2010创建一个简单的webpart页面。它默认使用http-equiv=X-UA-Compatible content="IE=10; IE=8"。问题在于,Bootstrap 3在兼容模式下不支持IE10或IE8,而responsedsjs也不起作用。

以下是Bootstrap文档页面中记录的内容:

  

旧的Internet Explorer兼容性不支持Bootstrap   模式。为了确保您使用IE的最新渲染模式,   考虑在您的网页中加入相应的标记:

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

问题在于我无权访问Sharepoint母版页,因此无法更改此值。我尝试在页面的标题中添加它,但由于母版页首先加载它,它只是忽略它。

在花了几个小时清理网后,我发现了一些关于这个问题的文章:

http://www.codeproject.com/Articles/667557/Programatically-Change-Page-Headers-Title-Styleshe

https://social.msdn.microsoft.com/Forums/office/en-US/7cef975b-a409-48cd-8da9-c5660fa55f11/override-master-page-meta-tags-from-child-page?forum=sharepointdevelopmentprevious

https://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlmeta_properties(v=vs.110).aspx

这些文章谈论了很多关于添加/修改Page_load()或在某处输入此脚本的问题,它应该可以解决这个问题。我尝试将其添加到页面顶部,页面标题中,页面标题下,内容编辑器webpart中,没有任何效果。我可能会忽略所有这一切,但我很难过。由于我无法访问Sharepoint Designer,因此它对我来说有点麻烦。

有人会对我能从这里做些什么有任何想法吗?

protected void Page_Load(object sender, EventArgs e)
{
    HtmlMeta meta = new HtmlMeta();
    meta.HttpEquiv = "X-UA-Compatible";
    meta.Content = "IE=edge";
    HtmlHead head = Page.Header;
    head.Controls.Add(meta);
}

1 个答案:

答案 0 :(得分:0)

试试这个:

protected void Page_Load(object sender, EventArgs e)
{
    HtmlMeta meta = new HtmlMeta();
    meta.HttpEquiv = "X-UA-Compatible";
    meta.Content = "IE=edge";
    HtmlHead head = Page.Header;

    head.Controls.AddAt(0, meta);
}

它对我有用。