Javascript与SharePoint 2010页面的编辑模式

如题,在SharePoint中,页面可以在编辑模式和浏览模式中切换,一般我们是通过Ribbon来完成这个操作的。但如果我们需要对页面做较大的定制,比如隐藏Ribbon,那该如何通过JavaScript来切换模式呢?

SharePoint 2010提供了一个JavaScript方法:ChangeLayoutMode,我们可以通过给它传入不同的参数来切换模式。

切换到编辑模式:

ChangeLayoutMode(false);

退出编辑模式:

ChangeLayoutMode(null,true);

可以切换模式的话,就会引出另外一个问题,如何判断当前是否出狱编辑模式?

不少资料里说可以通过下面这个全局变量来判断:

function bsl_isEditMode() {
return document.forms[MSOWebPartPageFormName].MSOLayout_InDesignMode.value == '1';
}

这个方法对于点击Ribbon中的Edit Page进入编辑模式以及通过上述方法进入编辑模式的情况是有效的,但是除此之外,直接在Web Part菜单中选择Edit Web Part也可以进入编辑模式,此时这种方法就无效了。

而下面这种方法对以上两种情形都有效:

function bsl_isEditMode() {
return $('#MSOSPWebPartManager_DisplayModeName').val() == 'Design' || $('#MSOSPWebPartManager_DisplayModeName').val() == 'Edit';
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注