Google 検索の結果にtwitter上で何個言及されているかを表示するブックマークレット
by
laiso
2015-11-21 [2015/11/21 16:14:27]
Chromeの人はこうする http://qiita.com/laiso/items/d30ead1bb5aa3d979190
-
/*
* @title Google 検索の結果にtwitter上で何個言及されているかを表示するブックマークレット
* @description Chromeの人はこうする http://qiita.com/laiso/items/d30ead1bb5aa3d979190
* @include http://*.google.*\/search
* @licence MIT
*/
var _STYLE = "padding: 0 0.5em;\nmargin: 0 0.5em;\ncolor: #fff;\ntext-shadow: 0 1px 0 white;\nbackground-color: #4e69a2;\nfont-weight: bold;\ntext-decoration-line: none;";
var links = document.querySelectorAll('h3 a');
(function(){
for (var i=0; i<links.length; i++) {
var a = links[i];
addCounter(a);
}
})();
function callback(data, textStatus, jqXHR) {
if(data.error){
console.error(data.error);
window.stop();
return;
}
var counter, point;
counter = document.createElement('A');
counter.setAttribute('style', _STYLE);
counter.href = 'https://twitter.com/#!/search/realtime/' + encodeURIComponent(data.url);
var linkUrl = Object.keys(data)[0];
counter.innerText = data[linkUrl].shares || 0;
var ref = null;
for (var i=0; i<links.length; i++) {
var tag = links.item(i);
var link = tag.href.replace(/\//g, '');
var url = linkUrl.replace(/\//g, '');
if(link.indexOf(url) > -1){
ref = tag;
break;
}
};
if(!ref){debugger}
ref.parentNode.style.setProperty('overflow', 'visible');
ref.parentNode.appendChild(counter)
}
function addCounter(a) {
var script = document.createElement('SCRIPT');
script.src = 'http://graph.facebook.com/?ids=' + encodeURIComponent(a.href) + '&callback=callback';
document.body.insertBefore(script, null);
};
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。