3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ツイッターで本人のツイートのみをJavaScriptで見る方法

Posted at

きっかけ

ツイッターで本人のツイートのみを見たいと思ったことはないだろうか?

多くがリツイートで占められるツイーターアカウントに遭遇することがある。熱心に全部のツイートを読むのではなく、軽く本人のツイートのみを読みたいという需要だ。

JavaScriptでリツイートを非表示にすることを思いついた。

ツイッターで本人のツイートのみを見る方法が分かりません。
例えば、「堀江貴文(Takafumi Horie) @takapon_jp」は見たい。
しかし、「堀江貴文(Takafumi Horie)さんがリツイート」は見たくないという場合です。

出典: Yahoo!知恵袋

とあるように、ニッチな需要があるようだ。

JavaScriptで非表示に

ChromeではデベロッパーツールのConsole(Firefoxではウェブコンソール)を開いて次のJavaScriptを実行する。

target_name=document.querySelector("b.u-linkComplex-target").textContent
document.querySelectorAll("#stream-items-id>li").forEach(l=>{if(l.getElementsByClassName("tweet")[0].getAttribute("data-screen-name")!==target_name){l.style.display="none"}})

元に戻すには

document.querySelectorAll("#stream-items-id>li").forEach(l=>{if(l.getElementsByClassName("tweet")[0].getAttribute("data-screen-name")!==target_name){l.style.display=""}})

console.logがundefinedになる不具合

ツイッターにはconsole.logの出力がundefinedになる不具合があるようだ。ツイッターを閲覧中にデベロッパーツールかウェブコンソールを開いてconsole.logを実行するとundefinedのみが表示された。ツイッター以外の場所では正常にconsole.logの出力が表示された。この不具合のおかげでツイッターでJavaScriptを書くのが大変だった。

console.logのように使用頻度の高い関数を悪意のある関数と置き換えて、任意のスクリプトを実行させる攻撃があるらしいが、まさかツイッターのような大企業が姑息な技を使うとは思わなかった。console.logの出力がツイッター社に送信されていないことを祈るばかりだ。

3
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?