这篇博客主要讲使用不同的客户端方式来判断页面的编辑模式。

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 }

05-21 11:12