Programming Serendipity

プログラミングを中心に種々雑多に書き留めます

Twitterのタイムラインで他人がいいねしたツイートを非表示にする方法

仕様変わったんですね。うざいので消します。続きからどうぞ。

といっても、やることは単純です。ブラウザはGoogleChromeを使用します。

chrome.google.com

  • 追加されたアイコンを右クリック→オプションでStylesを選択し、Add a new style…を選択

  • URLにhttps://twitter.com/を指定し、コードに以下を入力

div[data-component-context*="suggest_activity_tweet"] {
    display: none;
}
  • Saveを押してTwitterをリロード

  • enjoy!

なぜこれでうまくいくのか

テクニカルな詳細を知りたい人向けに書いておきます。消したい「いいね」ツイートがタイムラインにある状態で…

  • ChromeF12を押す
  • 出てきたパネルの一番左上にあるマウスポインターのついたボタンを押す
  • 他人がいいねしたツイートの全体が選択されるようにツイートの端っこのほうを選択する

…のようにすると自動的にそのツイートの要素がハイライトされます。その中の下のほうにdata-component-context="suggest_activity_tweet"というのが見つかるはずです。

もうおわかりでしょう。入力したコードの意味は、「divタグの中で、data-component-context属性の内容にsuggest_activity_tweetが含まれているものを非表示(display: none)する」という意味です。

なのでもしTwitterの仕様変更でこのコードが動かなくなった場合は、これに合わせて書き換えれば動きます。

ツイッターに限らず、表示を変えたいものはこのようにしてカスタマイズするのです。

というわけで

タイムラインに平和が戻りました。

一番いいのはTweetDeckとかOpenTweenとかのクライアントを使うことなのでしょうが、ものぐさ&そこまでしようと思わない&プログラマティカリーな解決策を探すのが楽しかったのでこの方法でいくことにしました。

Twitterもこういう改悪をするからマストドンが流行するんでしょうね。

とはいえTwitterがある種のライフラインになりつつある今の時代はまだTwitterを抜きにWebと付き合うのは難しそうです。やれやれ。