Movatterモバイル変換


[0]ホーム

URL:


Big Sky

システム開発屋がひっそり語るぼやき
« PerlからGNTP(Growl Notification Transport Protocol)で送信出来るモジュール書いた。 |Main|はてなウンコスター »

2009/03/31

Recent entries from same category

  1. xtag と angular1 を足して2で割った感じに使える薄い JavaScript ライブラリ「sj.js」
  2. Web Component を簡単に作れる JavaScript ライブラリ「X-Tag」
  3. twitter.bat
  4. jQueryプラグインとして動作するGithub Badge作ってみた。
  5. XSLとjQuery/HTMLだけで作る、amazon最速検索

貧乏人用はてなカラースターグリモン書いた。

貧乏なので買えません。
カラースターショップ - はてな

ソース
// ==UserScript==
// @name           poor man's hatena color star
// @namespace      http://mattn.kaoriya.net/
// @description    poor man's hatena color star
// @include        http://*
// @include        https://*
// ==/UserScript==

(function() {
    // extend version of $X
    // $X(exp);
    // $X(exp, context);
    // $X(exp, type);
    // $X(exp, context, type);
    function $X (exp, context, type/* want type */{
        if (typeof context =="function"{
            type    = context;
            context =null;
        }
        if (!context) context =document;
        exp = (context.ownerDocument || context).createExpression(exp,function (prefix) {
            return document.createNSResolver((context.ownerDocument ===null ? context
                                                                             : context.ownerDocument).documentElement)
                           .lookupNamespaceURI(prefix) ||
                  document.contentType ==="application/xhtml+xml" ?"http://www.w3.org/1999/xhtml" :"";
        });

        switch (type) {
            case String:  return exp.evaluate(context, XPathResult.STRING_TYPE,null).stringValue;
            case Number:  return exp.evaluate(context, XPathResult.NUMBER_TYPE,null).numberValue;
            case Boolean:return exp.evaluate(context, XPathResult.BOOLEAN_TYPE,null).booleanValue;
            case Array:
                var result = exp.evaluate(context, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
                for (var ret =[], i = 0, len = result.snapshotLength; i < len; i++) {
                    ret.push(result.snapshotItem(i));
                }
                return ret;
            case undefined:
                var result = exp.evaluate(context, XPathResult.ANY_TYPE,null);
                switch (result.resultType) {
                    case XPathResult.STRING_TYPE :return result.stringValue;
                    case XPathResult.NUMBER_TYPE :return result.numberValue;
                    case XPathResult.BOOLEAN_TYPE:return result.booleanValue;
                    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
                        // not ensure the order.
                        var ret =[], i =null;
                        while ((i = result.iterateNext())) ret.push(i);
                        return ret;
                }
                return null;
            default:throw(TypeError("$X: specified type is not valid type."));
        }
    }

    var stars =['star-red.gif','star-green.gif','star.gif#','star-blue.gif'];
    setInterval(function() {
        $X('//img[@src="http://s.hatena.ne.jp/images/star.gif"]').forEach(function(n) {
            n.src ="http://s.hatena.ne.jp/images/" + stars[parseInt(Math.random() * 4)];
        });
    }, 1000);
})();
インストール
poor-mans-hatena-color-star.user.js
Posted atby|Edit



photo of Yasuhiro MatsumotoBig Skymattn.jp@gmail.com
Osaka,Japan


Become a Patron!
mailto:
microformat hcardmattn_jp
コミュニティ主体の無料 Q&A サイト、Stack Exchange における mattn のプロフィール

このブログを応援する

Amazonギフト券 Eメールタイプ

Search
RSS配信
RSS Feed
Syndicate this site (XML)
Powered by
blosxom 2.1.2+dev
and
modified by
blosxom starter kit
I love blosxom!
広告
ブログツール

All contents of this site, unless otherwise noted, © 2005-2022 Yasuhiro Matsumoto, andrights reserved.

ご質問、お問い合わせはe-mail


[8]ページ先頭

©2009-2025 Movatter.jp