SharePoint Bending: Remove “Send To” Context Menu Without Modifying Core.JS

This is becoming a pretty common requirement. Some people just don’t want the “Send To” menu appearing in the context menu of the document library. You can do it — customize the SharePoint context menu by — by simply making some modification incore.js as suggested by many.

But modifying SharePoint core files should not be done, because your modifications can be overwritten by future SharePoint updates. So here’s a little trick to remove the “Send To” context menu without modifying core.js:

  1. Go to the document’s view url, for example:http://example.com/Documents/Forms/AllItems.aspx.
  2. If it is a web part page, edit the page and add a Content Editor web part. Otherwise you need to edit that page in SharePoint Designer.
  3. Open the source editor (not the rich editor) for the Content Editor web part, or open the code view (not the design view) of that particular page in SharePoint Designer.
  4. Either inside the web part or the code view, insert the following script:


    <script type="text/javascript">
    AddSendSubMenu = function (m,ctx) {}
    </script>

That script will redefine the AddSendSubMenu() function with a new implementation. Since the function body is empty, it simply won’t display anything, thus the “Send To” context menu is removed from the context menu.

You can do this on some pages manually, or if you want to apply this to all pages, just insert the code to your master page.

 

<script type="text/javascript">
AddSendSubMenu = function (m,ctx) {}
_spBodyOnLoadFunctionNames.push("resetAddSendSubMenu()");

function resetAddSendSubMenu(){
AddSendSubMenu = function (m,ctx) {};
}
</script>

 

posted @ 2012-08-21 15:43  小师傅  阅读(200)  评论(0编辑  收藏  举报