jquery.breadcrumbs-generator
jQuery plugin to generate breadcrumb list automatically from sitemap.
If you can use server-side language (e.g. PHP, Ruby, Perl), you don't need this plugin.
Demo
https://sutara79.github.io/jquery.breadcrumbs-generator
Install
- GitHub: Clone or download. Only you need is
dist/. - npm:
npm i jquery.breadcrumbs-generator - CDN (jsDelivr):
- jquery.breadcrumbs-generator.min.js: v1.0.3
Usage
<head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="jquery.breadcrumbs-generator.min.js"></script> <script> $(function() { $('#breadcrumbs').breadcrumbsGenerator(); }); </script><body>
<ol id="breadcrumbs"></ol> <ul id="sitemaps"> <li> <a href="index.html">Home</a> <ul> <li><a href="menu1.html">Menu1</a></li> <li><a href="menu2.html">Menu2</a></li> <li><a href="menu3.html">Menu3</a></li> </ul> </li> </ul>CSS
#breadcrumbs li { display: inline-block; } #breadcrumbs li:not(:first-child) { margin-left: 0.4em; } #breadcrumbs li:not(:first-child):before { content: '>'; margin-right: 0.4em; }Note
Breadcrumbs structure
This plugin creates like <li><a href="#">foo</a></li>.
So, you should use <ol> or <ul> for breadcrumbs.
Sitemaps structure
This plugin searches for current-page and its ancestors in href-attributes of the sitemaps.
So, you don't use href-attribute for other purpose in the sitemaps.
How to move the home-link to the list of breadcrumbs
If you use #sitemaps as a global-navi, and don't need the home-link, you can also move it to #breadcrumbs.
<ol id="breadcrumbs"><li><a href="index.html">Home</a></li></ol> <ul id="sitemaps"> <li><a href="menu1.html">Menu1</a></li> <li><a href="menu2.html">Menu2</a></li> <li><a href="menu3.html">Menu3</a></li> </ul>Options
You can set options like followings.
$('#breadcrumbs').breadcrumbsGenerator({ sitemaps: '#sitemaps', index_type: 'index.html' });| Name | Type | Default | Description |
|---|---|---|---|
| sitemaps | string | '#sitemaps' | jQuery selector for sitemap |
| index_type | string | 'index.html' | Filename of directory index. This is for when the requested url is a directory (e.g. example.com/), not a file (e.g. example.com/index.html). |
Compatibility
- jQuery: >=3.0.0 (because of XSS vulnerability)
- Browser: Chrome58, Firefox53, IE11, Edge14
