首先,找到C:Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS这个目录下的2052目录(这个默认是中文版本的路径,英文版本的MOSS是1033目录),其中有个core.js的JS文件,MS已经给我们预留了自定义的接口来实现我们自己的菜单定义了,分别是下面的两个函数
funtion AddListMenuItems(m,ctx)
{
if(typeof(Custom_AddListMenuItems) != "undefined")
{
if(Custom_AddListMenuItems(m,ctx))
}
}
funtion AddDocLibMenuItems(m,ctx)
{
if(typeof(Custom_AddListMenuItems) != "undefined")
{
if(Custom_AddListMenuItems(m,ctx))
}
}
我们实现自定义函数Custom_AddListMenuItems(列表库)或Custom_AddListMenuItems(文档库)
function Custom_AddListMenuItems(m, ctx)
{
if (HasRights(0x0, 0x4))
{
var strDisplayText = "修改状态";
var strAction = "STSNavigate('" + ctx.editFormUrl + "?ID=" + currentItemID + "&Source=" + GetSource() + "')";
var strImagePath = ctx.imagesPath + "edititem.gif";
//如果有二级菜单,把下面函数的参数m改为相应的父菜单
var menuOption = CAMOpt(m, strDisplayText, strAction, strImagePath, null, 220);
menuOption.id = "ID_EditItemUpdate";
}
}
把上面的代码加到相应的列表或文档库上,就实现了右键菜单的自定义