秘密結社UBE本部 社長日記 このページをアンテナに追加 RSSフィード

UBE社トップ | これ書いてる人について

役立たずの唄。

最近のコメント
<< 2018/06 >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

2018年06月11日月曜日の怪

Twitterのモーメント内の記事件数を表示するグリモンスクリプト

うおおおおギャオオオオオ 「Twitterのモーメント内の記事件数を表示するグリモンスクリプト」が出来たぞおおおおおおおおおおおお

f:id:UBE_pener:20180611201714p:image

Twitterのモーメントは複数のつぶやき(ツイート)をかき集めてまとめられる機能なんだけど、まとめたつぶやきの数が100件を越えると古いつぶやきから密かに消えていく上に、現在何件追加されているかは自分でひとつひとつ数えないと分からないというハイパーゴミ仕様なんですよ。

せめて現在の登録つぶやき数がぱっと分かれば…という考えから作り出されたのがこのグリモンスクリプト

// ==UserScript==
// @name        Twitterモーメント内記事件数表示
// @namespace   Twittermomentcount
// @description モーメント内の記事件数を表示する
// @include     https://twitter.com/i/moments/*
// @version     1
// @grant       none
// @require http://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
// ==/UserScript==

(function($){

var twtct = $('div.ProfileTweet-actionCountList.u-hiddenVisually').length;

var dai = document.getElementsByTagName('h1')[1];
dai.outerHTML += '<div>'+twtct+' 件の記事</div>';

})(jQuery);

上記スクリプトをグリモンに追加すると、ちょっとなんか不恰好だけどモーメントタイトルの真下に小さな字で「○件の記事」と表示されます。

あれ 動かないぞ

間違えなくモーメントを開いてスクリプトがアクティブになっているのに件数が表示されない…という場合は、ページをリロードすると件数が表示される…はず。

多分jQueryの読み込みがうまくいってないんじゃないかなあ。せめてその際のエラー表示できるようにしたいですね。

Chromeで使えないの?

あれ? GreasemonkeyってFirefox用だったの? Chromeでも使えた気がしたけど…

調べてみたら、ChromeはTampermonkeyっていう拡張機能がぐりもんの代わりに使えますね。

試してみたら普通にこのスクリプトも動いてくれました。

Tampermonkey - Chrome Web Store

参考にした記事

クラス名にスペースがある時はどうするんだ?
スペースを含んだクラス名を jquery で指定できない - スタック・オーバーフロー
ページ内要素を数える
JavaScript - 表示中の要素の個数を取得したい(96816)|teratail
GreasemonkeyjQueryを使う
greasemonkey内でjQueryを使う - $shibayu36->blog;
.innerHTML(タグで囲った要素の置き換え)
Tampermonkey(またはGreasemonkey)を使ったJavaScriptプログラミング | 株式会社シンメトリック公式ブログ |
.outerHTML(タグの外への追記)
.outerHTML | JavaScript 日本語リファレンス | js STUDIO

変更履歴

2018/06/11
できたのでここに置く
2018/06/12
Chromeの案内を雑に書く
2018/06/19
何故か件数が表示されない場合の対処法を書く
トラックバック - http://d.hatena.ne.jp/UBE_pener/20180611