Expand Hatena::Star
by
noromanba
2014-12-11 [2014/12/11 03:55:50]
expand Hatena::Star handle colored stars
@@ -54,5 +54,5 @@
Expand event sequence probably async.
+ span.hatena-star-inner-count
*runtime: 14ms -> *runtime: 1ms
-Actual finish time too long.
+Actual finish time too long :-P
*/
/*
* @title Expand Hatena::Star
* @description Expand Hateha::Star handle colored stars
* @include http://*
* @license MIT License http://nrm.mit-license.org/2012
* @require
*/
// http://os0x.g.hatena.ne.jp/os0x/20080502/1209724672
//console.time('*runtime');
(function(Hatena) {
if (typeof Hatena === 'undefined') return;
Hatena.Star.EntryLoader.entries.forEach(function (entry) {
var expander = entry.star_container.querySelector('span.hatena-star-inner-count');
if (expander && expander.textContent) {
entry.stars.some(function (star) {
if (star && star.count && star.showInnerStars) {
star.showInnerStars();
return true; // rustic
}
});
}
});
})(window.Hatena);
//console.timeEnd('*runtime');
/*
# Performance on http://d.hatena.ne.jp/amachang/ in Markdown
1st -> 2nd execute times.
+ debug code included
+ disable cache
## nonDOM
+ *runtime: 47ms -> *runtime: 57ms
## useDOM
Hatena.Star.EntryLoader.entries[0].star_container.querySelector('SELECTOR');
### some selectors
+ .hatena-star-star-container > .hatena-star-inner-count
*runtime: 36ms -> *runtime: 2ms
+ span.hatena-star-star-container > span.hatena-star-inner-count
*runtime: 51ms -> *runtime: 3ms
+ span.hatena-star-inner-count
*runtime: 42ms -> *runtime: 2ms
+ .hatena-star-inner-count
*runtime: 39ms -> *runtime: 3ms
### disable other Greasemonkey Scripts
+ span.hatena-star-inner-count
*runtime: 4ms -> *runtime: 0ms
# Performance on http://d.hatena.ne.jp/amachang/archive
+ debug code console.time() only
+ disable cache
### disable other Greasemonkey Scripts
Expand event sequence probably async.
+ span.hatena-star-inner-count
*runtime: 14ms -> *runtime: 1ms
Actual finish time too long :-P
*/
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。