1.0.3 • Published 4 years ago

@tsquare/switcher v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

Switcher

Easily replace content without reloading the page.

Switcher, inspired by TurboLinks, sends an XHR request, swaps body content, and adds any missing scripts and styles.


Example 1:

const switcher = new Switcher();
switcher.init();

That's it! Switcher will automatically hijack internal links, and swap out differing html contents on click.

Example 2:

  • URL: /page-1
<div class="container">
    <div class="content">
        <a href="/page-2" class="switcher-link">Page 2</a>
    </div>
</div>
  • URL: /page-2
<div class="container">
    <div class="content">
        <a href="/page-1" class="switcher-link">Page 1</a>
    </div>
</div>
  • On /page-1, clicking the link will replace the contents of <div class="container"> with the contents of <div class="container"> from /page-2, and update the URL.
document.addEventListener('DOMContentLoaded', () => {
    const switcher = new Switcher({
        containerSelector: '.container', // default = 'body'
        linkSelector: '.switcher-link', // default = 'a'
        debug: false // console.log() if container or link selectors not found. default = false.
    });

    switcher.init();
});
  • A link can be excluded by adding the attribute data-switcher="false"

Events

switcher.before

Fires after the request has been made, before the content has been replaced.

switcher.after

Fires after the content has been replaced.

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago