我正在尝试将一些JS代码注入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?如果不是,是否存在另一种方法来检查页面状态是否处于“编辑”模式?
根据计划,SharePoint 2013中的浏览器支持SharePoint 2013完全支持IE9
浏览器。
错误SP.Ribbon。为null或未定义,可能是由于SP.Ribbon.js
执行指定代码时未加载而导致的。
使用SP.SOD.executeOrDelayUntilScriptLoaded(func,depScriptFileName)方法可确保在加载JavaScript库时执行了用户定义的代码。
ExecuteOrDelayUntilScriptLoaded(function(){
var InEditMode = SP.Ribbon.PageState.Handlers.isInEditMode();
if(!InEditMode){
//...
}
}, 'SP.Ribbon.js');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句