Created
October 19, 2010 20:36
-
-
Save think49/635051 to your computer and use it in GitHub Desktop.
expandURI.js : ページ内の全てのa要素から短縮URLを検索し、展開したURLに変換する(制作中)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// expandURI.js | |
if (!Array.indexOf) { | |
Array.indexOf = (function (indexOf) { | |
return function (contextObject, elt /*, from*/) { | |
if (arguments.length < 3) { | |
indexOf.call(contextObject, elt); | |
} else { | |
indexOf.call(contextObject, elt, arguments[2]); | |
} | |
} | |
})( | |
Array.prototype.indexOf || | |
function (elt /*, from*/) { | |
var len = this.length; | |
var from = Number(arguments[1]) || 0; | |
from = (from < 0) | |
? Math.ceil(from) | |
: Math.floor(from); | |
if (from < 0) | |
from += len; | |
for (; from < len; from++) | |
{ | |
if (from in this && | |
this[from] === elt) | |
return from; | |
} | |
return -1; | |
} | |
); | |
} | |
(function () { | |
function getJsonByXHR (uri) { | |
} | |
function getJsonByJSONP (uri) { | |
} | |
function loadListener (event) { | |
var shortenHosts, doc, links, a, href, i, l; | |
shortenHosts = ['bit.ly', 'j.mp', 'tr.im', 'is.gd', 'migre.me', 'miud.in', 'udanax.org', 'URLi.nl', 'URLcorta.es', 'goo.gl', 'karmacracy.com', 'yourls.org']; | |
doc = event.target || this.document; | |
links = doc.getElementsByTagName('a'); | |
for (i = 0, l = links.length; i < l; i++) { | |
a = links[i]; | |
if (Array.indexOf(shortenHosts, a.host) !== 1) { | |
href = a.href; | |
href = getJsonByXHR(href) || getJsonByJSONP(href); | |
if (typeof href === 'string') { | |
a.href = href; | |
} | |
} | |
} | |
} | |
if (document.addEventListener) { | |
document.addEventListener('DOMContentLoaded', loadListener, false); | |
} | |
})(); | |
/* | |
・os0xさん制作のAPIを利用する | |
・XMLHttpRequest Level 2 のクロスオリジンを利用する | |
参考資料 | |
JavaScript連載第13回 - 0xFF | |
http://d.hatena.ne.jp/os0x/20100830/1283184297 | |
これでできる! クロスブラウザJavaScript入門:第13回 簡単なアプリケーションの作成|gihyo.jp … 技術評論社 | |
http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0013 | |
simple twitter search - jsdo.it - Share JavaScript, HTML5 and CSS | |
http://jsdo.it/os0x/search.twitter | |
simple twitter search | |
http://ss-o.net/test/twitter-search.html | |
TinyurlなどのURLを復元するJSON(P) API - 0xFF | |
http://d.hatena.ne.jp/os0x/20090215/1234686704 | |
gist: 65204 - GitHub | |
http://gist.github.com/65204 | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment