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();
});