JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://www.asual.com/jquery/address/samples/state/jquery.address-1.5.min.js"></script>
<a class='next_page_link' href='/page2'>Page2</a>

<br>
<a class='next_page_link' href='/page3'>Page3</a>

<br>
<a class='article_title' href='/article7'>Article 7</a>

<br>
<a class='close_article' href='/page3'>Close Article</a>

JavaScript

var site_url = 'http://jsfiddle.net/',
    last_visited_url = '',
    just_visited_url = $.address.baseURL().replace(site_url, ''),
    visited_pages_array = [just_visited_url],
    page_number = '';

//when visiting new page: ajax call,then:
$('a.next_page_link').on('click', function (e) {
    e.preventDefault();
    last_visited_url = just_visited_url;
    page_number = $(this).attr('href').replace(site_url, ''); // /page3 for example
    $.address.state(site_url).value(page_number);
    just_visited_url = page_number;
    visited_pages_array.push(just_visited_url);
});

//when loading Article: ajax call,then:
$('a.article_title').on('click', function (e) {
    e.preventDefault();
    article_url = $('a.article_title').attr('href').replace(site_url, ''); // /article7 for example
    last_visited_url = just_visited_url;
    $.address.state(site_url).value(article_url);
    just_visited_url = article_url;
    visited_pages_array.push(just_visited_url);
});

//when existing an Article:
$('a.close_article').on('click', function (e) {
    e.preventDefault();
    last_visited_url = just_visited_url;
    $.address.state(site_url).value(page_number); // This page number is the last page_number value
    just_visited_url = page_number;
    visited_pages_array.push(just_visited_url);
});
//And this code is executed when the user presses some of the browser butons:

$.address.externalChange(function () {

    var newPage = $.address.baseURL().replace(site_url, '');

    if (visited_pages_array[visited_pages_array.length - 2] == newPage) {

        visited_pages_array.splice(visited_pages_array.length - 1, 1);
        console.log('BACK pressed');

    } else if (visited_pages_array.length > 1) {

        visited_pages_array.push(newPage);
        console.log('FORWARD pressed');

    } else {

        console.log('REFRESH pressed');

    }

});