quicklaunchMost pages on your SharePoint site display a left navigation, also known as “Quick Launch”. However, new Web Part pages that you add through the Create menu do not have it.

So how can we add the Quick Launch to these pages, using only the SharePoint UI? Here again, the iframe can help. On our Web Part page we are going to:
1/ load the site home page in the background
2/ extract the Quick Launch
3/ include it in our page
4/ do some cleanup to avoid conflicts with the rest of the page

This is very similar to the method I described to display a list in another site – just here everything happens within the same site.


Here is the code, simply add it to the page through a CEWP:

<!-- Load and display Quick Launch - iframe version -->
<!-- Questions and comments: Christophe@PathToSharePoint.com -->

<!-- Paste the URL of the source page below: -->
<iframe id="SourcePage" style="display:none;" src="http://[YourSite]/default.aspx" onload="DisplayQuickLaunch()"></iframe>

<script type="text/javascript">

function DisplayQuickLaunch()
{
var placeholder = document.getElementById("LeftNavigationAreaCell");

var quicklaunchmenu = null;
var SourcePage = document.getElementById("SourcePage");

try {
   if(SourcePage.contentDocument)
      // Firefox, Opera

      {quicklaunchmenu = SourcePage.contentDocument.getElementById("LeftNavigationAreaCell") ;}
   else if(SourcePage.contentWindow)
      // Internet Explorer

      {quicklaunchmenu = SourcePage.contentWindow.document.getElementById("LeftNavigationAreaCell") ;}
   else if(SourcePage.document)
      // Others?

      {quicklaunchmenu = SourcePage.document.getElementById("LeftNavigationAreaCell") ;}
}
catch(err) { alert ("Loading failed");}

var allDescendants = quicklaunchmenu.getElementsByTagName("*");
for (i=0;i<allDescendants.length;i++) {
allDescendants[i].removeAttribute("id");
allDescendants[i].removeAttribute("onclick");
allDescendants[i].removeAttribute("onfocus");
allDescendants[i].removeAttribute("onmouseover");
}
placeholder.innerHTML = quicklaunchmenu.innerHTML;
}
</script>

For better performance…

In my code sample, the source page is the home page, but you can actually select any other page from your site that has the Quick Launch. Pick a page with little content for better performance.

Update [05/29/2009] As Cory mentioned in the comments section, here is another approach if you have SharePoint Designer:
http://www.u2u.info/Blogs/Patrick/Lists/Posts/Post.aspx?ID=1744