Selected Links

  • /*
     * @title Selected Links
     * @description Selected Links !!!!!
     * @include http://*
     * @license MIT License
     * @require 
     */
    
    (function(){Array.prototype.uniq=function(){tmp={};tmp_arr=[];for(var a=0;a<this.length;a++){tmp[this[a]]=a}for(a in tmp){tmp_arr.push(a)}return tmp_arr};var a=function(b,c){if(c==undefined){var d=document.getElementsByTagName("base");if(d.length>0){c=a(d[0].getAttribute("href"))}else{c=location.href}}var e=b.split("/");if(/http:|https:|ftp:/.test(e[0])){return b}var f,g=c.split("/");if(g.length>3){g.pop()}if(e[0]===""){c=g[0]+"//"+g[2];g=c.split("/");delete e[0]}for(f=0;f<e.length;f++){if(e[f]===".."){if(typeof e[f-1]!=="undefined"){delete e[f-1]}else if(g.length>3){g.pop()}delete e[f]}if(e[f]==="."){delete e[f]}}var h=[];for(f=0;f<e.length;f++){if(typeof e[f]!=="undefined"){h[h.length]=e[f]}}return g.join("/")+"/"+h.join("/")};var b=window.getSelection().getRangeAt(0);var c=b.commonAncestorContainer;var d=c.innerHTML;var e=b.startContainer;var f=e.ownerDocument.createElement("layer");var g=b.extractContents();f.appendChild(g);b.insertNode(f);console.log(c);var h=f.getElementsByTagName("a");var i=[];for(var j=0;j<h.length;j++){console.log(h[j]);i.push(a(h[j].getAttribute("href")))}c.innerHTML=d;window.getSelection().removeAllRanges();alert(i.uniq().join("\n"))})()
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2012/05/16 04:53:08 - 2012-05-16