Sharepoint 2013 Javascript对象模型IE兼容

Sharepoint 2013 Javascript object model IE compatibility

本文关键字:IE 兼容 对象模型 Javascript 2013 Sharepoint      更新时间:2023-09-26

我正在尝试向wiki页面注入一些JS代码,以允许使用MathJax库呈现LaTex标记。经过一番尝试后,我意识到我需要在页面未处于编辑模式时运行MathJax脚本。SP2013的MS JS客户端库似乎有一种检查

的简洁方式。
var InEditMode = SP.Ribbon.PageState.Handlers.isInEditMode();
if(!InEditMode){
 // load MathJax library from CDN
}

这在最新版本的Chrome, Firefox和IE10+上工作得很好,但在IE9及以下版本上就失败了。报告的JS错误是SP.Ribbon。

虽然我不能确定,似乎SP2013支持IE9,但看着SP wiki页面源代码的标题,我看到

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

问题: SP2013是否支持IE9?如果没有,是否有其他方法来检查页面状态是否处于编辑模式?

根据SharePoint 2013中浏览器的支持情况SharePoint 2013 完全支持IE9浏览器。

错误SP.Ribbon。可能发生,因为在执行指定代码时没有加载SP.Ribbon.js

SP.SOD使用。executeOrDelayUntilScriptLoaded(func, depScriptFileName)方法,以确保在加载JavaScript库时执行用户定义的代码。

ExecuteOrDelayUntilScriptLoaded(function(){
    var InEditMode = SP.Ribbon.PageState.Handlers.isInEditMode();
    if(!InEditMode){
       //...
    }
}, 'SP.Ribbon.js');