JSFiddle - React, Tailwind, and code Playground

by wisegorilla

JavaScript

function getParameterByName(name, url) {
  if (!url) url = window.location.href;
  name = name.replace(/[\[\]]/g, '\\$&');
  var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
    results = regex.exec(url);
  if (!results) return null;
  if (!results[2]) return '';
  return decodeURIComponent(results[2].replace(/\+/g, ' '));
}

function toTitleCase(str) {
  noDash = str.replace(/-/g, ' ');
  return noDash.replace(/\b\w/g, function(txt) {
    return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
  });
}

function reviewUrl() {
  // Creates a timeout to call submitForm after one second.
  setTimeout(redirect_url, 2000);
  var url_redirected = false;

  function redirect_url() {
    if (!url_redirected) {
      url_redirected = true;
      document.location = 'https://www.amazon.de/review/create-review/';
    }
  }
  dataLayer.push({
    'marketplace': 'Amazon Germany',
    'review-source': toTitleCase(getParameterByName('src')),
    'event': 'CreateReviewClick',
    'eventCallback': function() {
      redirect_url();
    }
  });
}