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;
}
  • Addを押して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と付き合うのは難しそうです。やれやれ。

追記:ちなみに

「いいねしました」をミュートワードにする方法もあり、手軽ですが、消したくないツイートまで消してしまうようなので、ピンポイントで消せるやり方を探して上記の方法にたどり着きました。ミュートワードの設定は反映まで数時間~1日かかるのも難点ですね。

さらに追記:アプリ版の場合

公式スマホアプリからTwitterを使っている場合は、上記の方法は使えません…。が、suggest_activity_tweetをミュートワードに設定して成功した人もいるようです。自分は未確認ですが、試してみては。

今後も改悪されることを警戒するならTwitterの非公式アプリを探すのも手でしょうか。