JSFiddle - React, Tailwind, and code Playground

by Peter Galiba

HTML

<ul>
    <li><a href="http://jsfiddle.net/?q=1" target="node-4">Item 1</a></li>
    <li><a href="http://jsfiddle.net/?q=2" target="node-4">Item 2</a></li>
    <li><a href="http://jsfiddle.net/?q=3" target="node-4">Item 3</a></li>
    <li><a href="http://jsfiddle.net/?q=4" target="node-4">Item 4</a></li>
  </ul>

JavaScript

var targetWindows = {}, version = /[?&]r=\d+(&|^)/;
$('a[href][target^=node]').click(function (e) {
  e.preventDefault();
  var target = this.target,
      win = targetWindows[target],
      result,
      href = this.href,
      random;
  if (win) {
    result = version.exec(href);
    random = Math.floor(Math.random() * 9e3) + 1e3;
    if (result) {
      winHref = href.slice(0, result.index + 3) + random + result[1] + href.slice(result.index + result[0].length);
    }
    else {
      result = href.indexOf('?');
      href += (result >= 0 ? '?' : '&') + 'r=' + random;
    }
  }
  console.log(href)
  win = targetWindows[target] = window.open(this.href, this.target);
  win.focus();
});