SharePoint Breadcrumb V3 – navigate between folders

Breadcrumb is one of the most requested features by SharePoint users but unfortunately Microsoft removed it with SharePoint 2013 and to this day it was never reintroduced.

Last year I did a solution to bring back the breadcrumb to SharePoint without modifying the master page and today I’m releasing its third version with new features implemented based on the feedback provided by the users.

The new version is configurable according to your needs, includes support for folders inside libraries and supports custom master pages.

breadcrum with folder support

New Features

Based on the feedback provided by the users during last months I added support to:

  • Show Folders – this option will build a trail of your navigation inside libraries;
  • Hide Page Libraries – this option hides the pages libraries node from the breadcrumb and it includes multilingual support; (only supported on SharePoint Online, always hidden on SharePoint Server)
  • Hide from Pages – this option hides the breadcrumb in specific pages defined by the url;
  • Breadcrumb Element – this option allows you to define the DOM element where the breadcrumb will be added;

How to install the breadcrumb

The breadcrumb is provided in a WSP solution and needs to be uploaded to each site collection where you want to have it visible, to install do the steps below:

  1. On the root site of your site collection go to Site Settings
  2. Click on Solutions under Web Designer Galleries
  3. Upload and Activate the solution

How to configure the breadcrumb

The configuration of the breadcrumb requires a modification of a JavaScript file explained in the steps below:

  1. Open the site with SharePoint designer
  2. Go to All Files Style Library FabricUIBreadcrumb js
  3. Check out and edit in advanced mode the breadcrumb.js
  4. At the top of the file modify the breadcrumbProperties object according to the table below:
    var breadcrumbProperties = {
    	showFolders: true,
    	breadcrumbElement: "",
    	pagesLibrary: "Pages",
    	sitePagesLibrary: "SitePages",
    	hidePageLibraries: true,
    	hideFromPages: [""]
    };
    

    Property Type Default Value
    showFolders Boolean True
    breadcrumbElement String (id of DOM element e.g. “#breadcrumb”) “”
    pagesLibrary String “Pages”
    sitePagesLibrary String “Site Pages”
    hidePageLibraries Boolean True
    hideFromPages String Array [“”]
  5. Save the file, check it in and publish the major version

How to create a modified package of the breadcrumb

If you have multiple site collection where you need to install the breadcrumb there’s no need to modify the JavaScript file manually in each site collection.

To modify the original WPS solution follow these steps:

  1. Download and install the WSP Repackage Tool
  2. Extract the Breadcrumb_V3.wsp to a folder, if your wsp file is not recognized by a compression tool you can rename the extension to .zip
  3. Once extracted go to SharePointBreadcrumb_Breadcrumb feature Style Library FabricUIBreadcrumb js
  4. Modify the breadcrumb.js file
  5. Open the WSP Repackage Tool
  6. Select the source directory of your files
  7. Select the output directory where the WSP file will be created
  8. Provide a name to the custom WSP
  9. Click Repackage
    SharePoint WSP Repackage

Conclusion

If you have suggestions for new features please use the comment section bellow, as always the source files are available on GitHub and I invite you to collaborate with this project.

Download Breadcrumb WSP
Explore Solution on GitHub


92 Responses to “SharePoint Breadcrumb V3 – navigate between folders”

  1. Lorne

    April 30, 2018

    So I uploaded your solution package to my top level SPO site collection. Oddly though, SPO won’t allow me to activate it even though I’m the global admin, SPO primary admin and SC admin. Telling me I don’t have permissions. Which is, as I said, odd, since I have successfully activated other solution files….

    Reply
  2. Eugene

    May 8, 2018

    Hello sir, this is super awesome callosum, thank you! I activated on my site collection and it works as described here, but 1) I want to limit this solution only to document libraries. Right now it shows on every page (web part pages, regular publishing pages, etc.). 2) I would also like to move where the navigation appears – i.e. have it appear directly above the library, and not at the top of the page. 3) Right now the initial text that the top level of a library defaults to is the site collection name, while I would like it to default to the library name and skip the site name altogether. 4) Lastly, it cuts off folder names after a certain length, can the width of each breadcrumb node be auto and expand/collapse as needed?

    I could use Hide from Pages in the js file to add all the pages I don’t want users to see the navigation, but there are still the other things I noted above. I tried to throw the code in the js file into a CEWP instead and it came out funky. It works but the formatting is gone and folder levels appear vertically instead of horizontally.

    Thanks in advance for any help/suggestions you can provide!

    Reply
    • João Ferreira

      May 9, 2018

      Hi Eugene,

      Thanks for your feedback and suggestions, based on that I did a custom version of the breadcrumb that only displays it on Libraries and a couple system pages(can be ignored with the option hide from pages)
      You can download the latest version from this link.

      1. It’s only visible in document libraries (only when you navigate to a folder)
      2. Not sure if I understood this one, if you can share an image showing were you want it to be visible
      3. Removed the site collection node, it starts with the document library
      4. Removed the max width for folder names from the css it now displays the entire library name

      When using CEWP make sure the css is being referenced. By reading your description seems to me the css was not loaded.
      As an alternative you can use a script editor and add the css directly inside of

      tags.

      To get this version working deactivate the current solution, upload and activate the new one, once the upload is done I recommend you to refresh the page using CTRL + F5.

      Let me know if this works for you.

      My best,

      João Ferreira

      Reply
      • Jason

        August 29, 2018

        Hi there…

        This is an excellent solution, thanks! Just a quick question though…

        The ‘standard’ V3 solution works for me. However, like Eugene, I ideally only want this solution to work in Document Libraries, and when I downloaded and activated V3.1, no breadcrumbs are displayed. I made sure I was in a sub folder of a library, but no breadcrumbs appear. Like I said, if I activate the standard V3 solution, I get breadcrumbs on every page. Any ideas? I’m using SharePoint Online.

        Thanks…

        Jason.

        Reply
        • João Ferreira

          November 25, 2018

          Hi Jason,

          I’m not able to reproduce this issue locally, can you please let me know if you have script errors in the browser console?
          Notice that this solution doesn’t work on modern document libraries, you will only see it if your libraries are being displayed in classic mode.

          Thanks,

          João

          Reply
  3. IB

    May 17, 2018

    Hi João,

    This solution is terrific! Great job! However, when I activate the solution on my site collection it only displays the path to the current page. It doesn’t display any folder navigation. Could you clarify how specifically to update the js file so that it will display the folder navigation as well? Sorry still learning, so any assistance is appreciated.

    Reply
    • João Ferreira

      May 19, 2018

      Hi Ian,

      The folder path is only displayed within document libraries, for all other scenarios it will only display sun sites and pages.

      Reply
  4. Bill Woodall

    May 23, 2018

    Question, is it possible to make the “Breadcrumbs” font smaller?

    Reply
    • João Ferreira

      May 28, 2018

      Hi Bill,

      Yes it’s possible using CSS, to reduce the font size do the following:

      1 – Open the site with SharePoint designer
      2 – Go to All Files -> Style Library -> Fabricuibreadcrumb -> css
      3 – Check out and edit the breadcrumb.css in advanced mode
      4 – Locate the rule bellow and modify the font size

      li.ms-Breadcrumb-listItem * {
      font-size: 18px!important;
      }

      5 – Check in the file and publish the major version
      6 – Refresh your browser using CTRL + F5 to clear the css from cache

      Reply
      • Davis

        July 26, 2018

        Great feature – been looking for something like this for awhile. One followup question: is it possible to change the font and font color as well? Thanks.

        Reply
        • João Ferreira

          July 27, 2018

          Hi Davis,

          Yes it possible, to modify the font and the color do the following steps:

          1 – Open the site with SharePoint designer
          2 – Go to All Files -> Style Library -> Fabricuibreadcrumb -> css
          3 – Check out and edit the breadcrumb.css in advanced mode
          4 – Locate the rule bellow and modify the font size

          a.ms-Breadcrumb-itemLink {
          font-family: Arial;
          color: red;
          }

          5 – Check in the file and publish the major version
          6 – Refresh your browser using CTRL + F5 to clear the css from cache

          Reply
          • Davis

            July 31, 2018

            Thanks for the reply. I logged in as a Site Collection Administrator, made those changes and everything looked good. However, when I log in as any other user the breadcrumb looks like the original format. I’ve cleared the cache and refreshed the browser and it still looks like the original.

          • Davis

            July 31, 2018

            Never mind. Forgot to check the file back in.

          • João Ferreira

            July 31, 2018

            I’m happy it worked for you. 😉

  5. Shri

    June 1, 2018

    Hi

    This works great with Seattle and Oslo. How can i apply to any other custom master page (copy of Seattle)?

    Reply
    • João Ferreira

      June 1, 2018

      Hi,

      Yes this can be applied with custom master pages, if your structure is different than the original masters you can reference the id of the element where you want to append the breadcrumb.
      Let me know if you need any further clarification.

      Reply
  6. Dario Züger

    June 6, 2018

    Hi

    Your tool is great. I somehow have a node too much now in my breadcrumbs when I open a folder in a document library. Even when I click on this link I get an error page.

    As an example: I have a subsite “Organization” and there a document library “Documents” with a folder “Test”.
    The breadcrumbs are now like: Portal > Organization > org (Site URL) > Documents > Test

    Reply
    • João Ferreira

      June 6, 2018

      Hi Dario,

      Do you have any special character in your breadcrumb nodes? Have you modified the defualt settings? Is this something that is happening everywhere or just in a specific library?

      Reply
  7. HLin

    June 15, 2018

    Hi,
    This solution is great. I activate the solution on the site collection, but open the document labary the breadcrumbs not display directly, we always need to refresh the web. Why?

    Reply
    • João Ferreira

      June 15, 2018

      Hi,

      Open the dev Tools on your browser and check if you have any script error. If not refresh the browser using CTRL + F5 to make sure the cache is cleared.

      Reply
      • HLin

        June 15, 2018

        Hi,
        No script error on my browser and the cache is cleared. But the question is exist.

        Reply
        • João Ferreira

          June 15, 2018

          What version of SharePoint are you using, and also let me know the browser? Is this happening only with you or also with other users?

          Reply
          • Pablo

            June 20, 2018

            I am experiencing the same issue, I need to refresh to see the breadcrumbs within libraries. I am running Sharepoint 2013

          • João Ferreira

            June 27, 2018

            Hi Pablo,

            I’m still not able to reproduce this locally, can you please let me know if you have any script error in the browser console?

          • Damian Lewis

            October 31, 2018

            I am also seeing this issue on SP2016 on different browsers (IE, Edge and Chrome). This is such a great solution and would be great if it could work straight off in document libraries.

            I had the same issue the Breadcrumbs V2.

            Has this been reported by anyone else?

            Regards,

            Damian

          • João Ferreira

            November 25, 2018

            Hi Damian,

            This issue will be addressed on version 4 of the breadcrumb that is currently being planed.

            Thanks,

            João Ferreira

  8. Rémi

    June 24, 2018

    Amazing script. It works very well. Installation is simple as.
    I have tried to customise a little and it works as expected.
    1 – I wanted to see the breadcrumbs on all the pages so I commented/removed the first bit in breadcrumb.js
    2 – I wanted to see the top site node so I played with the CSS file by commenting/removing the display: none in li.ms-Breadcrumb-listItem:first-child.

    All good.

    My SharePoint site is built with 2 sub-site levels. Whichever the version (v3 or v3.1), before or after my modifications, I see the following in the “Documents” section:
    Top-Node-Site > Level-1-Node-Site > Level-2-Node-Site > My-Folder-Name – All Documents > Level-1-Node-Site > Level-2-Node-Site > Shared Documents > My-Folder-Name

    Have I misconfigured my SharePoint site?
    Would you recommend any modification?

    Thank you in advance for your assistance.

    Cheers

    Reply
    • João Ferreira

      July 27, 2018

      Hi Rémi,

      This seems to be a duplication in the breadcrumb structure, I wasn’t able to get this reproduced.
      Do you see the same structure in the URL?
      If you only see this in the URL Top-Node-Site > Level-1-Node-Site > Level-2-Node-Site it might be an issue with the breadcrumb code that I wasn’t able to identify.

      Reply
  9. Jonathan Ottaway

    June 29, 2018

    This solution is so elegant but in my case (Sharepoint Online) it refuses to display folders in a library despite showFolders being set to true. Breadcrumbs stop at the site level always. Folders are simply named and libraries were created of a simply template based on the Document Control one provided OOB with Sharepoint.

    Reply
    • Jonathan Ottaway

      June 29, 2018

      Dug in myself. Needed an edit on the getFolders function. Firstly the DeltaPlaceHolderPageTitleInTitleArea tag check on my Sharepoint was not double span’ed so that allowed the initial if statement to pass and then I needed to use listURL as the base rather than site URL as I have several subsites that were polluting the breadcrumbs otherwise. Thanks so much again for a great solution!

      function getFolders() {
      if ($(‘#DeltaPlaceHolderPageTitleInTitleArea’).length > 0 && (document.location.href).indexOf(‘RootFolder=’) != -1) {
      //get nodes from url
      var siteServerRelativeUrl = _spPageContextInfo.listUrl;
      if (siteServerRelativeUrl == “/”) {
      siteServerRelativeUrl = “”;
      }

      var libraryLocation = unescape(document.location).split(“RootFolder=”)[1].split(“&Folder”)[0].replace(siteServerRelativeUrl, ”);

      var libraryNodes = libraryLocation.split(‘/’);
      var libraryNodeURL = _spPageContextInfo.serverRequestPath + “?RootFolder=” + siteServerRelativeUrl;
      $.each(libraryNodes, function (index, value) {

      if (value != “”) {
      libraryNodeURL = libraryNodeURL + “/” + value;
      $(‘#breadcrumbSite’).append(‘‘ + value + ‘‘);

      }

      });
      }

      Reply
  10. Craig

    July 5, 2018

    Nice solution but does not work in Chrome and I have not had a chance to test in Safari.

    Also, my inteded use was within deep folder structures within Document Sets. Within the folders, the navigation works perfectly. However at the Document Set welcome page level I see the following:

    SiteName>Shared Documents>DocSet&RecSrc=>sites>SiteNamet>Shared Documents>DocSet

    Reply
    • João Ferreira

      July 31, 2018

      Craig,

      I was not able to reproduce this issue locally, can you please let me know what SharePoint version are you using?

      Reply
      • Ben

        August 16, 2018

        Good solution! However I’m having the same issue as Craig when using this inside Document Sets.

        We’re using SharePoint 2016 on-prem.

        Reply
        • João Ferreira

          August 16, 2018

          Hi Ben,

          Can you please let me know if you have the minimal download strategy feature enabled?

          Reply
          • pavel

            September 19, 2018

            Hello,
            I have found the same issue. Turning off the minimal download strategy does not change anything

          • João Ferreira

            October 10, 2018

            Hi Pavel,

            Is this happening in all browsers?
            Do you have any script error in the browser console?

          • pavel

            September 19, 2018

            I have figured out.
            To make it work with document set – modify breadcrumb.js:

            in function getFolders:
            var libraryLocation =decodeURIComponent(escape(unescape(document.location).split(“RootFolder=”)[1].split(/&Folder|&RecSrc/)[0].replace(siteServerRelativeUrl, ”)));

            and modify libraryNodeURL to
            var libraryNodeURL = siteServerRelativeUrl;

          • João Ferreira

            November 25, 2018

            Hi Pavel,

            Thanks for your feedback, I’m planing a version 4 of this solution and I’ll include support for document sets.

            Thanks,

            João

          • Jon

            September 27, 2018

            Excellent work creating a much needed breadcrumb to assist with navigation in SharePoint. I also have the same issue in Document Sets, the minimal download strategy feature was enabled, I disabled it in the site, then tested again, but the issue remains. We use SharePoint 2013.

            Document Library Location = /sites/ns/gs/projects/TestProjectSite/Documents

            Document Set Name Inside document library = Test

            Breadcrumb as seen when in Test document set =

            Neighbourhood Services > Green Space Team > Green Space Projects > TestProjectSite > gs > projects > TestProjectSite > Documents > test&RecSrc= > sites > ns > gs > projects > TestProjectSite > Documents > test

          • João Ferreira

            November 25, 2018

            Hi Jon,

            Support for document sets will be added on version 4 that’s being planned.
            From a feedback from other users reporting the same limitation I got this sample code that make the breadcrumb to work with the document sets.

            To make it work with document set – modify breadcrumb.js:

            in function getFolders:
            var libraryLocation =decodeURIComponent(escape(unescape(document.location).split(“RootFolder=”)[1].split(/&Folder|&RecSrc/)[0].replace(siteServerRelativeUrl, ”)));

            and modify libraryNodeURL to
            var libraryNodeURL = siteServerRelativeUrl;

            Tanks,

            João

      • Craig

        August 16, 2018

        I am using SharePoint Online and tested in multiple browsers.

        Reply
        • João Ferreira

          November 25, 2018

          Craig,

          I was not able to get the issue reproduced, I’m planning a version 4 of this breadcrumb that will include more options and I’ll refactor the code. I hope the new version works on your environment.

          Thanks,

          João

          Reply
  11. Wayde

    July 12, 2018

    Thanks for this solution! Works great in my SharePoint 2016 environment. Enjoy your beer on me! The only thing I miss from the custom breadcrumb I had in the old 2010 environment is the list view drop down at the last breadcrumb. Changing list views doesn’t seem as intuitive in 2016.

    Reply
    • João Ferreira

      July 13, 2018

      Thanks for the beer Wayde. The view selection is a good idea for the next version stay tuned for future updates of the breadcrumb.

      Reply
  12. Jamie Gallagher

    July 31, 2018

    Hi Joao,

    Would you mind helping me with an issue I’ve got with v3.1?

    I’ve installed and activated no problem, but I’m not seeing the full breadcrumb.

    From the top level, if I go into a subsite, and then into a folder in that subsite, it doesn’t show the folder path in the breadcrumbs.

    This is what I have:

    Top Level Site Name > Subsite > Home

    I want to show:

    Top Level Site Name > Subsite > Folder > Home

    Reply
    • João Ferreira

      July 31, 2018

      Hi Jamie,

      The folder path was designed to document libraries only and in some scenarios it only starts displaying the folder path starting on the second folder.
      Let me know if you can see the folders structure when you have more than one level of depth.

      Reply
      • Jamie Gallagher

        August 21, 2018

        Hi Joao,

        I’ve got it working thank you very much.

        I’m hoping you might be able to assist with the customisation please?

        Currently if I go into a subsite and drill down the folder structure, the breadcrumbs will display the following:

        01 Projects > projects > Shared Documents > folder 1 > folder 2 etc

        01 Projects = subsite

        projects and Shared Documents all point to the subsite root.

        How can I hide projects > Shared Documents so it just shows:

        01 Projects > folder 1 > folder 2

        Thanks very much

        Jamie

        Reply
        • João Ferreira

          November 25, 2018

          Hi Jamie,

          With the current version is not possible to hide nodes with the same URL from the breadcrumb.
          I’m planing version 4 based on the feedback I’m receiving and I’ll add an option to hide duplicated nodes from the breadcrumb.

          Thanks,

          João

          Reply
  13. kelvini

    August 20, 2018

    the Breadcrumb_V3 is not support for Chinese word.

    it come out Garbled.

    how I can solve it?

    Reply
    • João Ferreira

      November 25, 2018

      Thanks for letting me know, this might be related with the font that is used by the solution that is not compatible with Chinese characters.

      Reply
  14. aditya

    August 21, 2018

    Hi.. thx for your .wsp. It works great.

    but, i have some issue. Your solution works great if the pages are on different subsite. Our requirement here a bit different, which is multiple pages are on the same subsite.

    Lets say, i have subsite TEMP, and i have 3 pages, pages1.aspx, pages2.aspx,pages3.aspx.

    When user browse to pages1.aspx, breadcrumb should show
    HOMEPAGE > pages1

    from pages1, user can browse to pages2.aspx, breadcrumb should show
    HOMEPAGE > pages1 > pages2

    from pages2, user can browse to pages3.aspx, breadcrumb should show
    HOMEPAGE > pages1 > pages2 > pages3

    Is it possible to do any customization through your code ?

    Thanks

    Reply
    • João Ferreira

      November 25, 2018

      Hi Adytia,

      I’m not sure if I understood your requirement correctly but I don’t think it is possible to provide a breadcrumb based on the name of the pages. To create the navigation structure all the pages need to be in different levels, to get a scenario like this to work you will need to create folder inside your pages library to get a new item in the breadcrumb.

      Thanks,

      João

      Reply
  15. lucky

    August 28, 2018

    Hi Joao,

    I have a question whether this solution could be used on premise SharePoint 2013 public facing site where I have implemented Microsoft PnP responsive package and also some customization to original Seattle master page?.

    Reply
    • João Ferreira

      August 28, 2018

      Hi Lucky,

      It will work without any issue, if your seattle master is different you just need to reference the element where you want the breadcrumb attached

      Reply
      • lucky

        August 31, 2018

        Thanks, Joao, for the quick reply.

        So I have the below reference tag display none, so my question is will it work this breadcrumb work if the remove the display none style and move the entire default Seattle master breadcrumb tag after my custom top navigation menu?.

        <SharePoint:PopoutMenu

        Reply
        • João Ferreira

          November 25, 2018

          Hi Lucky,

          Yes it will work, you just need to reference an HTML element to host the breadcrumb.

          Thanks,

          João

          Reply
  16. Joe Odelehr

    September 26, 2018

    Hi Joao,

    I have this deployed and it working well. The only issue I am seeing is that it is displaying the original library name in the breadcrumb instead of the current name. We did this to shorten the url as much as possible. For instance, we created a library called “L01” then renamed it to be “Document Library”. Unfortunately the breadcrumbs display the original name. Is it possible to get them to display the new Library name? We are using SharePoint 2016 on premise.

    Thanks!

    Reply
    • João Ferreira

      November 25, 2018

      Hi Joe,

      Thanks for your feedback, I’m planning the version 4 of this solution and I’ll add an option to show the display name instead of the original one.

      Thanks,

      João

      Reply
  17. Ian Ramsden

    October 3, 2018

    Will this work with on-prem Sharepoint 2016?

    Reply
  18. Tagazok

    October 10, 2018

    Hello,

    Thank you for your script it is close to perfect for my case (sharepoint 2016 on prem). Things that I would like to change :

    – Do not display anything before library name (breadcrumbs get weird on subsites and I don’t want the site name to be displayed …)
    – Display library name when you are a the library top level (right now I have to click a folder inside the library for the breadcrumbs to show)
    – Fix chrome error that prevents breadcrumbs from being displayed -> /_vti_bin/client.svc/ProcessQuery:1 Failed to load resource: the server responded with a status of 403 (Forbidden)

    I’m really close to buy you some beers 😀

    Reply
    • Tagazok

      October 10, 2018

      I forgot the fix for letters with accent displayed weirdly !

      Reply
      • João Ferreira

        November 25, 2018

        This issue is related with the font that is being used by the solution but it will be fixed on the next version.

        Reply
        • Tagazok

          March 21, 2019

          Made a quick fix to it. Just add the problematic characters as they appear in the value.replace list. I’m not a javascript expert so there is probably a better solution 🙂

          function getFolders() {
          if ($(‘#DeltaPlaceHolderPageTitleInTitleArea span span’).length > 0 && (document.location.href).indexOf(‘RootFolder=’) != -1) {

          //get nodes from url
          var siteServerRelativeUrl = _spPageContextInfo.siteServerRelativeUrl;
          if (siteServerRelativeUrl == “/”) {
          siteServerRelativeUrl = “”;
          }

          var libraryLocation = unescape(document.location).split(“RootFolder=”)[1].split(“&Folder”)[0].replace(siteServerRelativeUrl, ”);

          var libraryNodes = libraryLocation.split(‘/’);
          var libraryNodeURL = _spPageContextInfo.serverRequestPath + “?RootFolder=” + siteServerRelativeUrl;
          $.each(libraryNodes, function (index, value) {

          if (value != “”) {
          value = value.replace(/é/g, “%C3%A9”).replace(/è/g, “%C3%A8”).replace(/ô/g, “%C3%B4”).replace(/&/g, “%26”).replace(/ /g, “%20”).replace(/’/g, “%27”).replace(/Ã/g, “%C3%A0″);
          value = value.replace(/\s/g,”);
          libraryNodeURL = libraryNodeURL + “/” + value;
          value = decodeURI(value);

          $(‘#breadcrumbSite’).append(‘‘ + value + ‘‘);

          }

          });
          }
          }

          Reply
          • Tagazok

            March 22, 2019

            Here is the final script with more accents taken care of.

            function getFolders() {
            if ($(‘#DeltaPlaceHolderPageTitleInTitleArea span span’).length > 0 && (document.location.href).indexOf(‘RootFolder=’) != -1) {

            //get nodes from url
            var siteServerRelativeUrl = _spPageContextInfo.siteServerRelativeUrl;
            if (siteServerRelativeUrl == “/”) {
            siteServerRelativeUrl = “”;
            }

            var libraryLocation = unescape(document.location).split(“RootFolder=”)[1].split(“&Folder”)[0].replace(siteServerRelativeUrl, ”);

            var libraryNodes = libraryLocation.split(‘/’);
            var libraryNodeURL = _spPageContextInfo.serverRequestPath + “?RootFolder=” + siteServerRelativeUrl;
            $.each(libraryNodes, function (index, value) {

            if (value != “”) {
            value = value.replace(/é/g, “%C3%A9”).replace(/è/g, “%C3%A8”).replace(/ô/g, “%C3%B4″).replace(/ç/g,”%C3%A7″).replace(/â/g,”%C3%A2”).replace(/ê/g, “%C3%AA”).replace(/î/g, “%C3%AE”).replace(/ù/g, “%C3%B9”).replace(/ï/g, “%C3%AF”).replace(/ö/g, “%C3%B6”).replace(/ë/g, “%C3%AB”).replace(/ä/g, “%C3%A4”).replace(/&/g, “%26”).replace(/ /g, “%20”).replace(/’/g, “%27”).replace(/Ã/g, “%C3%A0″);
            value = value.replace(/\s/g,”);
            libraryNodeURL = libraryNodeURL + “/” + value;
            value = decodeURI(value);
            value = value.replace(/%26/g, “&”);

            $(‘#breadcrumbSite’).append(‘‘ + value + ‘‘);

            }

            });
            }
            }

          • João Ferreira

            March 26, 2019

            Hi Tagazok,

            Thanks for the update 🙂

    • João Ferreira

      November 25, 2018

      Hi,

      Tanks for your feedback with about this solution, a version 4 is being planed and I’ll address some of the limitations you reported.

      – Do not display anything before library name (breadcrumbs get weird on subsites and I don’t want the site name to be displayed …) – Will add an option to hide site name
      – Display library name when you are a the library top level (right now I have to click a folder inside the library for the breadcrumbs to show) – This will be fixed
      – Fix chrome error that prevents breadcrumbs from being displayed -> /_vti_bin/client.svc/ProcessQuery:1 Failed to load resource: the server responded with a status of 403 (Forbidden) – I was unable to reproduce this locally, can you share more information about it

      Reply
      • Tagazok

        March 21, 2019

        The exact problem is only happening on chrome and here is the error message : ScriptResource.axd?d=jAh8RzHRHgHGDRim3vC2Dp8jGBfHFrfdKVRq4W_hbKB2Y9VBZFRVWCzOkNl9sx1KktmKaqHc00QWBb1zC7DjizMYz9aqIf0Afw_13Pw3fhJMa9_I4w8N8f4U8CCeVaBCpaFOyF-yU8Lna2P4dESjoMOeKVkENVDt9d0T-ukpNdnQ_BTkPtA4HoS7d8-y9wiP0&t=ffffffff999c3159:5 POST https://xxxxx/_vti_bin/client.svc/ProcessQuery 403 (Forbidden)

        Reply
        • Tagazok

          March 22, 2019

          Nevermind my sharepoint is behind a loadbalancer. If I bypass the loadbalancer it loads fine on chrome …. Back to more investigations

          Reply
  19. Brandon

    October 21, 2018

    Great post,

    Why would are be getting: https://dayspring.hallmark.com/sites/Teams/IT/Contracts/Forms/AllItems.aspx?RootFolder=/sites/Teams/IT

    it takes us to a none existing page.

    Reply
    • João Ferreira

      November 25, 2018

      Hi Brandon,

      Can you provide more context about the issue you are experiencing so I can try to reproduce it locally.

      Thanks,

      João

      Reply
  20. Brandon The SharePoint Help

    October 22, 2018

    Can you tell me what or why the breadcrumb is duplicating the parent link.

    For instance:

    1. PROJECTS
    2. SharePoint 2016 Migration
    3. Migrate-2-SP2016
    4. Shared Documents
    5. AOS Documents

    For some reason, 2 and 3 are duplicating in some way… except 3 leads to a broken link. Thoughts or suggestions?

    Reply
    • João Ferreira

      November 25, 2018

      Hi Brandon,

      This was reported by other readers also, but I was not able to reproduce it on my environments.
      I’m planing a new version of this solution that will eliminate duplicated entries from the breadcrumb.

      Thanks,

      João

      Reply
  21. Alexandria Hernandez

    November 15, 2018

    Does this WSP work with SharePoint modern pages too or only the OSLO & Seattle versions? I looked at the modern solution but i’m unable to load all of the tools due to network or proxy issues. Are there any 3rd party applications that can assist with creating the desired breadcrumbs?

    Reply
  22. David

    November 19, 2018

    Is there a way to only put this on certain pages such as subsites only?

    Reply
    • João Ferreira

      November 25, 2018

      Hi David,

      There is a setting to hide the breadcrumb from specific pages hideFromPages
      Do you need the inverse of this setting and define only the pages where you want it visible?

      Thanks,

      João

      Reply
  23. ananda

    November 22, 2018

    Hi João
    Thank you for the wonderful post.
    I’ve configured it in SharePoint Online. It works, but found few issues.
    It’ll be great if you can help me out.
    My site structure is – Root Site > Sub Site > Folder > Sub Folder
    After adding the current version it’s coming like below.
    Root Site > Sub Site > Sub Site > Folder > Sub Folder [Sub Site is coming twice]
    Is it possible to adjust like just Sub Site > Folder > Sub Folder ?
    Also found when I click on the last node, doesn’t show any content, although there are contents in that folder.
    I’m using Seattle.master and some alternate CSS for a menu.
    Thank you
    ananda

    Reply
    • João Ferreira

      November 25, 2018

      Hi Amanda,

      I’m planning version 4 of this solution and one of the things that will be fixed are the duplicated items in the breadcrumb.
      To help me understand better the cause of the issue on your scenario please let me know the following.

      • Are you using Publishing sites or Collaboration sites like Team Sites?
      • Do you have minimal download strategy feature disabled?

      Thanks,

      João

      Reply
  24. Tom

    January 4, 2019

    Not sure if something changed from MS for SP Online, but all of my breadcrumbs are now bullet points. I haven’t investigated any deeper to see if there was a style override by MS

    Reply
  25. Aishwarya Garg

    February 27, 2019

    Dear Joao

    The font size is too big on navigation , Is there a way to resize fonts?

    Reply
    • João Ferreira

      March 7, 2019

      Hi Aishwarya,

      To reduce the font size do the following:

      1 – Open the site with SharePoint designer
      2 – Go to All Files -> Style Library -> fabricuibreadcrumb -> css
      3 – Check out the breadcrumb.css and edit in advanced mode
      4 – Locate the rule below and modify the font size
      li.ms-Breadcrumb-listItem * {
      font-size: 16px!important;
      }
      5 – Save the file, check it in and if asked publish the major version
      6 – Refresh your browser using CTRL + F5 to make sure you clear the cache

      Reply
  26. Ehab Habib

    March 21, 2019

    Great work João,
    I am working on Sharepoint inline. Is there a way to show the breadcrumb on the page? if so, please let me know how.

    Thank you again for your wonderful work.

    Reply
    • João Ferreira

      March 26, 2019

      Hi Ehab,

      I’m not sure if I understood your question, this version works with SharePoint Online but is specific for classic sites.
      If you need a version that is compatible with modern sites you can check this article.

      Reply

Leave a Reply to Tom


I've been working with Microsoft Technologies over the last ten years, mainly focused on creating collaboration and productivity solutions that drive the adoption of Microsoft Modern Workplace.

%d bloggers like this: