JSFiddle - React, Tailwind, and code Playground

Anonymize Referrer Test

by skibulk

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<p>JS Referrer: <span id="referrer"></span></p>
<p><a href='#'>Next Page - <b>Unprotected</b></a></p>
<p><a href='#' protected="true">Next Page - <b>Protected</b></a></p>

JavaScript

console.clear();

(function(){

  var refEl = document.getElementById("referrer")
  
  if (refEl.textContent) {
  	refEl.textContent = document.referrer;
  } else {
	  refEl.innerText = document.referrer
  }

	var links = document.getElementsByTagName("a");
  var next = window.location.href.split("?")[0]+"?"+Date.now();
  links[0].href = next;
  links[1].href = next;

  // Add a click handler to the window so we can intercept
  // all links, even if the page hasn't finished loading yet
  window.addEventListener("click", function(event){

    // Handle clicks on children of link elements
    var el = event.target;
    while (!el.href && el.parentNode) {
      el = el.parentNode;
    }

    if(el.href && el.getAttribute("protected")){
    
      // Must use the global event object (window.event) in IE8
      if (window.event.preventDefault) {
      	window.event.preventDefault();
      } else {
      	window.event.returnValue = false;
      }
      
      var w = window.open("", "Loading...");
      w.location.href = el.href;
    }
  });
})();