Many thanks to Christophe for a wonderful script to display quick launch in a web part page (original post/source post). I have re-written/adjusted Christophe’s code to work around issues with SharePoint 2010 upgrade. The current code works only in SharePoint 2010. I made some changes to the code to make it workable in SharePoint 2007 and 2010 pages. So, the same code works seamlessly after SharePoint 2010 upgrade. I have also simplified the code to easily understandable and to use across the site collection with some minor tweaks.
Here is the updated code:
Copy the below mentioned code into a notepad and save the file as DisplayQuickLaunch.js file. Upload the JS file your site collection level scripts/documents library.
Copy the below mentioned code into a notepad and save the file as DisplayQuickLaunch.js file. Upload the JS file your site collection level scripts/documents library.
function DisplayQuickLaunch()
{
//Check for SharePoint Version
var QuickLaunch ="";
if (typeof _fV4UI == "undefined")
{
QuickLaunch = "LeftNavigationAreaCell";
}
else
{
QuickLaunch = "ctl00_PlaceHolderLeftNavBar_QuickLaunchNavigationManager";
}
var placeholder = document.getElementById(QuickLaunch);
var quicklaunchmenu = null;
var SourcePage = document.getElementById("SourcePage");
try {
if(SourcePage.contentDocument)
// Firefox, Opera
{quicklaunchmenu = SourcePage.contentDocument.getElementById(QuickLaunch) ;}
else if(SourcePage.contentWindow)
// Internet Explorer
{quicklaunchmenu = SourcePage.contentWindow.document.getElementById(QuickLaunch) ;}
else if(SourcePage.document)
// Others?
{quicklaunchmenu = SourcePage.document.getElementById(QuickLaunch) ;}
}
catch(err) { alert ("Loading failed");}
placeholder.innerHTML = quicklaunchmenu.innerHTML;
}
Once you are done with the upload, copy the below mentioned code into to a content editor web part in SharePoint 2007 or HTML Form web part in SharePoint 2010. Make sure to update site URL and JS file path.
<iframe id="SourcePage" onload="DisplayQuickLaunch()" src="http://[Your Site]/default.aspx" style="display: none;"></iframe> <script src="https//[Your JS file path]/DisplayQuickLaunch.js" type="text/javascript"> </script>