JSFiddle - React, Tailwind, and code Playground

by uzna

JavaScript

//window.location.href is messed up on jsfiddle so in this case i am using custom_url option
setUrlParameter({'pname': 'value', 'ok': 'cool'}, null, null, 'https://jsfiddle.net/');


function setUrlParameter(NameValuePairs, newTab = false, get_string = false, custom_url = false)
{
    var url;
    if(custom_url){
      url = custom_url;
    }else{
      url = window.location.href;
    }
    var hash = location.hash;
    url = url.replace(hash, '');

    for(const ParamNameKey in NameValuePairs){
      if(NameValuePairs.hasOwnProperty(ParamNameKey)){

      
        let paramName = encodeURIComponent(ParamNameKey);
        if (url.indexOf(paramName + "=") >= 0)
        {
            var prefix = url.substring(0, url.indexOf(paramName + "=")); 
            var suffix = url.substring(url.indexOf(paramName + "="));
            suffix = suffix.substring(suffix.indexOf("=") + 1);
            suffix = (suffix.indexOf("&") >= 0) ? suffix.substring(suffix.indexOf("&")) : "";
            url = prefix + paramName + "=" + NameValuePairs[ParamNameKey] + suffix;
        }
        else
        {
        if (url.indexOf("?") < 0)
            url += "?" + paramName + "=" + NameValuePairs[ParamNameKey];
        else
            url += "&" + paramName + "=" + NameValuePairs[ParamNameKey];
        }
      }
    }
    if(newTab == true){
      window.open((url + hash), '_blank');
    }else if(get_string === true){
      return (url + hash);
    }else{
    	console.log(url);
      window.location.href = url + hash;
      
    }
    
}