Twitter のプロフィールページにおいて自己紹介欄のユーザー名の部分とハッシュタグにリンクを貼る Greasemonkey スクリプト
昨日のスクリプトの改良拡張版。
機能
Twitterの自己紹介欄(プロフィールページの右側)でよく「@fooもよろしくお願いします」や「#bar歓迎」というふうに、自分のサブ垢やBOT、よく使うハッシュタグを紹介しているのを見かける。このスクリプトは、その「foo」および「#bar」の部分に、タイムラインの表示と同じようにリンクを貼るもの。いちいちアドレスバーにコピペする手間を省く。
※ただし「@」や「#」がないと反応しません
ソース
// ==UserScript== // @name Twitter Append Link // @namespace http://d.hatena.ne.jp/Azr_pp/ // @include http://twitter.com/* // ==/UserScript== (function () { var profile = document.getElementById('bio').childNodes; var sentence = profile[2].textContent; var target = sentence.match(/(@|#)\w*/g); var newSpan = profile[2].cloneNode(true); newSpan.textContent = ""; var start = 0; var end = 0; for (var i = 0, l = target.length; i < l; i++) { if (target[i].search(/^@/) == 0) { var username = target[i].slice(1, target[i].length); var p_url = 'http://twitter.com/' + username; var p_link = document.createElement('a'); p_link.setAttribute('href', p_url); p_link.appendChild(document.createTextNode(username)); end = sentence.indexOf(target[i], start) + 1; newSpan.appendChild(document.createTextNode(sentence.slice(start, end))); newSpan.appendChild(p_link); start = end + target[i].length - 1; } else { var hashtag = target[i].slice(1, target[i].length); var h_url = 'http://twitter.com/#search?q=%23' + hashtag; var h_link = document.createElement('a'); h_link.setAttribute('href', h_url); h_link.appendChild(document.createTextNode(target[i])); end = sentence.indexOf(target[i], start); newSpan.appendChild(document.createTextNode(sentence.slice(start, end))); newSpan.appendChild(h_link); start = end + target[i].length; } } newSpan.appendChild(document.createTextNode(sentence.slice(start))); profile[2].parentNode.replaceChild(newSpan, profile[2]); })();