前言
通过spfx开发新式webpart时候,如果通过SPFX判断SharePoint页面状态: view/edit mode
实现方式
//Detect display mode on classic and modern pages pages
if(Environment.type == EnvironmentType.ClassicSharePoint){
let isInEditMode: boolean;
let interval: any;
interval = setInterval(function(){
if (typeof (<any>window).SP.Ribbon !== 'undefined'){
isInEditMode = (<any>window).SP.Ribbon.PageState.Handlers.isInEditMode();
if(isInEditMode){
//Classic SharePoint in Edit Mode
}else{
//Classic SharePoint in Read Mode
}
clearInterval(interval);
}
},100)
}else if(Environment.type == EnvironmentType.SharePoint){
if(this.displayMode == DisplayMode.Edit){
//Modern SharePoint in Edit Mode
}else if(this.displayMode == DisplayMode.Read){
//Modern SharePoint in Read Mode
}
}