Skip to content

Instantly share code, notes, and snippets.

@wizard04wsu
Created January 4, 2017 20:32
Show Gist options
  • Select an option

  • Save wizard04wsu/d25bbeeb834e204d5c77136145cd504b to your computer and use it in GitHub Desktop.

Select an option

Save wizard04wsu/d25bbeeb834e204d5c77136145cd504b to your computer and use it in GitHub Desktop.

Revisions

  1. wizard04wsu created this gist Jan 4, 2017.
    79 changes: 79 additions & 0 deletions genLink.htm
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,79 @@
    <!DOCTYPE html>

    <html lang="en">
    <head>

    <meta charset="UTF-8">

    <title>Generate Link</title>

    <style type="text/css" media="all">
    body {
    padding:0.75em;
    }
    #linkList {
    margin:0 0 1em 0;
    }
    </style>

    </head>
    <body>

    <div id="linkList"></div>
    <form onsubmit="return genLink();">
    Address: &nbsp; <label><input type="checkbox" id="javascript"> JavaScript</label><br>
    <input type="text" id="theAddress" size="100"><br>
    <br>
    Title (optional):<br>
    <input type="text" id="theTitle" size="100"><br>
    <br>
    <input type="submit" value="Go">
    </form>

    <script type="text/javascript">
    function genLink(){

    "use strict";

    var list = document.getElementById("linkList"),
    addr = document.getElementById("theAddress"),
    js = document.getElementById("javascript"),
    title = document.getElementById("theTitle"),
    a = document.createElement("a"),
    href = addr.value;

    if(js.checked){
    if(href.slice(0, 11) !== "javascript:") href = "javascript:"+href;
    href = href.replace(/%/g, "%25");
    }
    a.href = href.replace(/"/g, "%22").replace(/'/g, "%27");

    a.innerHTML = (title.value || addr.value.slice(0, 100)).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");

    list.appendChild(a);
    list.appendChild(document.createElement("br"));

    return false;

    }

    (function (){

    "use strict";

    var addr = document.getElementById("theAddress");

    addr.addEventListener("change", isJS, false);
    addr.addEventListener("keyup", isJS, false);

    function isJS(evt){
    if(this.value.slice(0, 11) === "javascript:"){
    document.getElementById("javascript").checked = true;
    }
    }

    })();
    </script>

    </body>
    </html>