JSFiddle - React, Tailwind, and code Playground

by dvjc

HTML

<a href="http://www.google.com" target="_top" >This Tab</a>

JavaScript

/*
  example usage
    element:<a class="\header" href="page.html" include >Taste!</a>
    elementTweak( true, 'a', 'include', 'href', '?istasted' );
    result: <a class="header" href="page.html?istasted" include >Taste!</a>
    */
function elementTweak(detecthigh, tagname, targetattr, impactattr, addon){
	if( detecthigh ){
		var tags = document.getElementsByTagName(tagname);
		for( var x=0; x<tags.length; x++){
			if( typeof tags[x].getAttribute(targetattr) === "string" ){
				var attr = tags[x].getAttribute(impactattr);
				if( attr.substr(-4) === "html" ){
					tags[x].setAttribute( impactattr, attr + addon );
				}
			}
		}
	}
}

elementTweak( true, 'a', 'include', 'href', '?istasted' );

function nextTabAnchors(){
    /*
       Reminder: test your javascript in your usage context
       .. it appears that in jsfiddle, anchor tags ALWAYS open in a new tab
    */
    var anchors = document.getElementsByTagName('a');
    for( var x=0; x<anchors.length; x++){
      anchors[x].setAttribute( "target", "_blank" );
    }
  }

function hookScript(url, src) {
        var s = document.createElement("script");

        var t = document.createAttribute("type");
        t.value = "text/javascript";
        s.setAttributeNode(t);

        t = document.createAttribute("src");
        t.value = url || "";
        s.setAttributeNode(t);

        if( src ){
            var tn = document.createTextNode(src);
            s.appendChild(tn); 
        }

        document.getElementsByTagName("head")[0].appendChild(s);
};

();