AX

電霊ログ

私のやってるサイト、電子の言霊の活動ログ

カテゴリークラウド

タグリスト

最近のトラックバック

月別アーカイブ(タブ)

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • ニコ動の投稿者名を表示するブックマークレット

自分が欲しかったのと、JavaScript の練習を兼ねて、
ニコニコ動画上の検索結果やタグなどの動画一覧画面ページで投稿者のニックネームを確認できるブックマークレットを作ってみました。
再生画面へ飛ぶ前に投稿者名を確認出来ます。


追記(2017/02/15):
一覧ページで選択出来る表示列数によって、サムネイルクリックで取得できないミスを修正しました。
ちゃんとモード別に確認してなかったので気が付きませんでした。。。
修正前のままでもテキストリンククリックでは取得できます。


「使い方」

下にある「ニコ動名前取得君」のリンクをブックマークに登録し、
ニコニコ動画の該当ページ上で登録したブックマークをクリックして実行。

するとマウスカーソルに「?」マークが付くので
その状態で調べたい動画のリンクを一回クリック。

しばらくすると動画のリンクテキスト部分に
投稿者名が表示される!


「注意」

名前を取得する度に、
ブックマークレットをクリックする必要があります

ひとり言:(試行錯誤の段階で一度に複数の動画からニックネームを取得する様なバージョンも書いたりしましたが、やっぱり向こうのサーバーに付加をあまり掛け無い仕様にした方が良いと考え、何バージョンか重ねてこの様な形に落ち着きました。)


ブックマークレット:
ニコ動名前取得君 (←これをブックマークに追加する。名前は後で好きに変えてください)

ソース:

javascript:(function (d, s, h, e, v, x) {
    function f1(o) {
        if (o) return o.tagName == 'A' ? o : f1(o.parentElement);
    }
    function f2(e, o, r) {
        if (e != o && e.tagName == 'A' && e.href.indexOf(o.pathname) > -1) return e;
        if (e.firstChild) r = f2(e.firstChild, o);
        if (!r && e.nextSibling) r = f2(e.nextSibling, o);
        return r;
    }
    function f3(e, l, r) {
        for (var i = 0, t = e ; i < l ; i++, t = t.parentNode) {
            if (t == null) break;
            if (r = f2(t, e)) return r;
        }
    }
    d = document;
    h = d.head;
    s = d.createElement('style');
    h.appendChild(s);
    s.sheet.insertRule('*{cursor:help;}', 0);

    d.addEventListener('click', function c(ev) {
        ev.preventDefault();
        d.removeEventListener('click', c, false);
        h.removeChild(s);
        e = ev.target;

        if (e.tagName == 'IMG') e = f3(f1(e), 5);
        if (e.className == 'itemThumbWrap') e = f3(e, 5);

        if (e) {
            if (!/^\.*\[.*\]<br>/i.test(e.innerHTML) && (v = /^http:\/\/www.nicovideo.jp\/watch\/(sm\d+)/i.exec(e.href))) {
                x = new XMLHttpRequest();
                x.open('GET', "https://query.yahooapis.com/v1/public/yql?q=select%20thumb.user_nickname%20from%20xml%20where%20url%3D'http%3A%2F%2Fext.nicovideo.jp%2Fapi%2Fgetthumbinfo%2F" + v[1] + "'&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys",
                true);
                x.onreadystatechange = function() {
                    if ((x.readyState == 4) && (x.status == 200)) {
                        e.innerHTML = '[' + JSON.parse(this.responseText).query.results.nicovideo_thumb_response.thumb.user_nickname + ']<br>' + e.innerHTML;
                    }
                };
                x.send(null);
            }
        }
    });
})();


ちなみに、外部との通信には YQL を使用しています。初めて使いましたが便利ですね!
こんな用途に使って良いのかは分かりませんが...。
一応 YQL には使用回数制限がある様ですが
普通に使う分には大丈夫でしょう(1000回/一時間くらいまで大丈夫らしいです)。

このブックマークレットのソースコードは自由にお使いください
ライセンス: NYSL 0.9981

以下のブラウザで動作確認しました
Google Chrome 49
Mozilla FireFox 51
スポンサーサイト
  • テレビ風時計

トップのサイト(tyty site)に少し前からアクセス解析を導入していて、しばらくは、う~ん ふむふむ なるほど~!っと眺めていてずーと安定していたんですが、ここ最近(と言っても少し前)から急にアクセスがグンっと上がっているのを見つけました。
ニャんだろうと思いリンク元をみて見たら、大半が同じ所から飛んで来ているではないですか?

そしてそのページをたどってみて見ると、そこは私と同じく テレビ風時計 を作って配布している所でした。しかも公開し始めたのは私より何年も早くビクターにも紹介されてる~ときた、まさに大先輩ですな~。見習わねば。

おまけにそのソフトもHSP製な事が判明してなんとも暖かい気持ちに(~~
んで早速ダウンロードして使って見たら、他に無い面白い機能がありました、分を表す数字の部分がエネルギーメーター風になっていて(下からどんどん水が競り上がって来る感じ)それが秒を表していると言う物。(説明分かり難いけど実際に使って見ると言いたい事が分かってもらえると思います。)

私もそういうようなのやろうかな・・・パ・・パクリじゃないよ!本当だよ・・・これはれっきとした・・・なんていうの・・・そう!・・イ・インスパイアさ・・・。そうさ!

と、しばらく読んでいて謎が解けました!
そのサイトでは、同じテレビ風時計のライバルたちを紹介されていまして、その1つとして tyty時計テレビ風が紹介されていたのでした。なんともにくい・・じゃなかった・・嬉しい事をしてくれます。本当ならライバルソフトなんて紹介したく無い物なのに。えっ、私は違いますよ~ちゃ・・ちゃんと紹介しますよ・・う・うそじゃ無いですよ・・・ほんとですよ。

私は今はもう HSP3 に完全に移行しているんですが、tyty時計テレビ風は HSP2.61 で作ってたので未だにこればっかりは、HSP2.61 で作っています。早くHSP3で作り直したいよ~~不便だよ~。
あ、それで思い出しましたが、こちらのサイトではソースコードを公開されています。実は私も公開したいのですが、コードが汚すぎて公開出来ません、公開する時はもう少しキレイにしてから公開したいと思います。

こちらがそのサイトです。
あまやどり
  • ニューイヤー

あけまして。
暫く更新サボっていましたがこれからまたぼちぼちやって行きたいと思います。誰も見てないけど・・・・
今年もよろしくお願いします。ニョロロ~ン
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。