Sharepoint 2010 Scrollbar not working problem when hiding ribbon
07/04/2011 Leave a comment
Symptoms:
When using SPSecurityTrimmedControl for hiding Sharepoint 2010 ribbon scrollbar is not working for users who denied to see ribbon.
Cause:
If you use SPSecurityTrimmedControl cover all divs that include the ribbon in masterpage , the page is not renders correctly. This is an incorrect programming situation .
Incorret usage:
<SharePoint:SPSecurityTrimmedControl ID="IncorrectUsage" runat="server" PermissionsString="ManageWeb">
<div id="s4-ribbonrow" style="display:none">
<div id="s4-ribboncont">
<SharePoint:SPRibbon...
Your ribbon
</Sharepoint:SRibbon>
</div>
</div>
</SharePoint:SPSecurityTrimmedControl>
Resolution:
Use your SPSecurityTrimmedControl inside of divs which is already covers ribbon.
Correct:
<div id="s4-ribbonrow" style="display:none">
<div id="s4-ribboncont">
<SharePoint:SPSecurityTrimmedControl ID="CorrectUsage" runat="server" PermissionsString="ManageWeb">
<SharePoint:SPRibbon...
Your ribbon
</Sharepoint:SRibbon>
</SharePoint:SPSecurityTrimmedControl></div> </div>
..
For hiding ribbon correctly you need to add extra scripting .
First to be sure jquery added your master page .
<script type="text/javascript" src="https://blog.bugrapostaci.com/_catalogs/scripts/jquery.js"></script>
And we add an extra SPSecurityTrimmedControl which contains javascript for showing ribbon to who have to see.
<SharePoint:SPSecurityTrimmedControl ID="st1" runat="server" PermissionsString="ManageWeb">
this text will be shown by only admins
<script type="text/javascript">
$(document).ready(function()
{
$('#s4-ribbonrow').show();
});
</script>
</SharePoint:SPSecurityTrimmedControl>
and adding an extra attribute to cover div for hiding ribbon
<div id="s4-ribbonrow" style="display: none;">
Dont forget to save your master page and publish it.
If you dont want to attend too much you can download and use this tool for this.
http://spribbonvisibility.codeplex.com/
Happy solutions …
Bye now.
.
