<?xml version="1.0" encoding="utf-8"?>
<CustomAction
Location="ScriptLink"
ScriptBlock="
function loadjQueryScripts(src) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
head.appendChild(script);
}
function hideSiteActions() {
var menuItems = document.getElementsByTagName('ie:menuitem');
for (var key in menuItems)
{
if (key.endsWith('ViewAllSiteContents'))
menuItems[key].hidden = true;
}
}
_spBodyOnLoadFunctionNames.push('hideSiteActions');
"
Sequence="10001">
</CustomAction>
</Elements>
可js代码并没有做到这隐藏这一点。在sp2013里面隐藏菜单选项,该怎么隐藏,请求帮助。(只允许用feature)
1. 是JavaScript没有执行吗? 可以按F12看看你的Javascript 有没有加载
2. 如果JavaScript执行,debug下,看看JS是否找到了ViewAllSiteContents 菜单,如果没有要分析为什么了
3. 如果找到了ViewAllSiteContents 菜单,但是menuItems[key].hidden = true; 不Work,那就需要分析这个为啥不Work了,查下MSDN或这Google 下,是不是不支持这种方式了。
hidden属性好使吗?试试吧ie:menuitem那个DOM删掉
menuItems[key].parentNode.removeChild(menuItems[key])
<script type="text/javascript"> try{ //Get all the menu options on the current page var menuitems = document.getElementsByTagName("ie:menuitem"); var menuitem; //Iterate the options to find the option(s) to hide for (var i = 0; i < menuitems.length; i++) { menuitem = menuitems(i); //Find and hide the Connect to Outlook menu option if (menuitem.id.indexOf("ViewAllSiteContents") > 0) { menuitem.hidden = true; break; } } } catch(e) { window.status = e.message; } </script>