javascript - Sharepoint 2013 Javascript 对象模型 IE 兼容性

标签 javascript internet-explorer sharepoint

我正在尝试将一些 JS 代码注入(inject) wiki 页面,以允许使用 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。为 null 或未定义

虽然我不能确定,但​​SP2013似乎支持IE9,但是查看SP wiki页面源代码的标题我发现

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

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

最佳答案

根据Plan browser support in SharePoint 2013 SharePoint 2013 完全支持IE9 浏览器。

错误SP.Ribbon。 is null 或 undefined 可能会发生,因为执行指定代码时未加载 SP.Ribbon.js

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

示例

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

关于javascript - Sharepoint 2013 Javascript 对象模型 IE 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23695553/

相关文章:

javascript - Chrome 扩展程序 : Toggle content_script via browser_action

javascript - 无法让 JQuery postMessage 插件在 IE 上运行

共享点 2010 :how to create a form library programmatically

jquery - 通过 SOAP 查询 SharePoint 列表仅返回 View 的第一页

javascript - D3 气泡图切换按钮

javascript - 将数组格式化为 JSON 并映射到 ng-repeat 后,复选框列表未填充

javascript - 如何动态加载不同的处理实例

internet-explorer - 打印带有背景颜色的网页

java - 无法使用 Selenium2 (Webdriver) 和 Java 启动 IE 浏览器

Sharepoint 和 Azure : msoidcliL. dll 丢失