这篇博客主要讲使用不同的客户端方式来判断页面的编辑模式。
1、当页面处于发布状态时,可以使用下面两种方式:
if(g_disableCheckoutInEditMode == true) {
alert('Page is in edit mode');
}
else {
alert('Page is in display mode');
}
另外一种方式:
//Add following in master page
<script type="text/javascript">
var IsEditMode = false;
</script>
<PublishingWebControls:EditModePanel runat="server" id="EditModePanelToFindEditMode">
<script type="text/javascript">
IsEditMode = true;
</script>
</PublishingWebControls:EditModePanel>
2、我们可以通过查询PageState的ViewModeIsEdit属性来判断,问题是这个对象要等sp.ribbon.js加载完后才能初始化。
var IsEditMode =
document.forms[MSOWebPartPageFormName].MSOLayout_InDesignMode.value;
if (IsEditMode == "1") { // page is in edit mode }
else { // page is in browse mode }
对于WIKI 页面,可以通过
var IsEditMode = document.forms[MSOWebPartPageFormName]._wikiPageMode.value;
if (IsEditMode == "Edit") {
// wiki page is in edit mode
} else { // wiki page is not in edit mode }