// ==UserScript== // @name Expand star // @namespace http://rails2u.com/ // @include http://* // @include https://* // ==/UserScript== location.href = "javascript:"+encodeURIComponent(uneval(function () { (function (Global) { if (!(typeof Hatena != 'undefined' && typeof Hatena.Star != 'undefined')) return; var CLICK_COUNT = 4; var TIMEOUT = 1000; var EXPAND_ALL_TIMEOUT = 1000; var expand, expandAll; var click_count = 0; document.body.addEventListener('mousedown', function(e) { setTimeout(function() { click_count = 0; }, TIMEOUT); if (++click_count >= CLICK_COUNT) expandAll(); }, false); expandAll = function() { var innerStars = Ten.DOM.getElementsByTagAndClassName('span', 'hatena-star-inner-count'); var iLen = innerStars.length; for (var i = 0; i < innerStars.length; i++) { var clickEvent = document.createEvent('MouseEvents'); clickEvent.initEvent('click',true,true); innerStars[i].dispatchEvent(clickEvent); } if (iLen) { setTimeout(expand, EXPAND_ALL_TIMEOUT); } else { expand(); } } expand = function() { var stars = Ten.DOM.getElementsByTagAndClassName('img', 'hatena-star-star'); var currentStar; var showName = function(name, quote, pos, src) { var container = new Ten.Element('div', { style: { display: 'inline', fontSize: '90%', padding: '1px', margin: '0px 0px 0px 1px', color: '#000', backgroundColor: '#FFF', } }); container.appendChild(Hatena.Star.User.getProfileIcon(name, src)); var s = document.createElement('span'); s.innerHTML = name; container.appendChild(s); if (quote) { var blockquote = document.createElement('blockquote'); Ten.Style.applyStyle(blockquote, { display: 'inline', fontSize: '90%', padding: '0px', margin: '0px', color: '#000', backgroundColor: '#DDD', }); blockquote.innerHTML = '" ' + quote + ' "'; container.appendChild(blockquote); } currentStar._p_q_loaded = true; Ten.DOM.replaceNode(container, currentStar); Ten.DOM.unshiftChild(container, currentStar); } var origShowName = Hatena.Star.NameScreen.prototype.showName; Hatena.Star.NameScreen.prototype.showName = showName; for (var i = 0; i < stars.length; i++) { var s = stars[i]; if (s._p_q_loaded) continue; currentStar = s; var mouseoverEvent = document.createEvent('MouseEvents'); mouseoverEvent.initMouseEvent('mouseover',true,true, window, 1,1,1,1,1,false,false,false,false,true,s); s.dispatchEvent(mouseoverEvent); var mouseoutEvent = document.createEvent('MouseEvents'); mouseoutEvent.initEvent('mouseout',true,true); s.dispatchEvent(mouseoutEvent); } Hatena.Star.NameScreen.prototype.showName = origShowName; } })(this); }))+"()";