2
0

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 1 year has passed since last update.

朝からtwitterのデザイン変更を対応した話

Posted at

twitterがinstagramになってる…
そんな日曜の朝を迎えた私は、ゲームをするか、この問題に取り組むか考えつつコーヒーを入れました。

結果として取り組んだのですが、これはtwitterライフを満喫するためにChrome拡張を作った話になります。

ネタ投稿です、あしからず。

起こった問題

twitterのデザイン変更があり、PC上で画像が正方形表示になりました。
フィードにおいて画像が正方形に表示されると、PC画面が1枚の画像で埋め尽くされ、一度の画面に表示される投稿量が少なくなってしまいます。(1〜2ツイートのみ)

個人的なtwitterの使い方として、タブキーで画面スクロールを行い、1画面単位で投稿内容を確認しています。
つまり何度もタブキーをクリックしなければいけなくなりました。

開発の決意

私もサービスを提供する一人としてデザインが変更されるのは分かります。
ABテストの結果か広告のお金のためかどちらかだろう…

とはいえ、1ユーザーとしては耐えられるものではない。
ということでChrome拡張を開発しようと思った次第です。

実際の開発

Chrome拡張を始めて作ろうと思い軽く調べてみたところ、どうやら思った以上に必要な知識が多いようです。
ただ、(ゲームの世界の)ヒロインが僕に「お願い…早く世界を救って」と囁いてきているので、それほど時間はかけられません。

どうせ次のバージョンアップには使えなくなる可能性(開発後の問題点1)があるのでサクッと開発していきます。

作ったファイルはこの二つです。
同フォルダに保存し、 chrome://extensions/ の「パッケージ化されていない拡張機能を読み込む」から読み込みます。

manifest.json
{
  "name": "twitter-rollback",
  "version": "1.0",
  "manifest_version": 3,
  "content_scripts": [
    {
      "matches": ["https://twitter.com/home"],
      "js": ["script.js"]
    }
  ]
}
script.js
setInterval(() => {
  // ツイート画像のクラス名を取得
  const tweets = document.getElementsByClassName("r-1udh08x r-1adg3ll");
  for (t of tweets) {
    // 高さを250pxに変更
    t.style.height = "250px";
  }
}, 1 * 1000);

その後 https://twitter.com/を開くとあら不思議!
画像の縦幅が半分程度になり、僕は幸せになれました。

開発後の問題点

現時点でこのChrome拡張には多くの問題点があります。

  1. twitterがバージョンアップすると使えない (たぶん)
    class名が難読化された結果の名前だと思われるので、次バージョンがリリースされた際には別名に変わっている可能性があります。
    もう明日には使えなくなっているかもしれません。

  2. フィード再読み込みが走らないことがある
    フィードの高さを変更してしまっているため、フィードの再読み込みが走らない場合があります。
    ちょっと画面を上に戻し、また下にスクロールすると読み込まれます。

  3. アイコンが崩れる
    classのターゲット指定にアイコンが入ってしまっています。
    アイコンがバグりますが、アイコンは普段見ないからいいこととします…

  4. 1秒に1回スクリプトを走る処理はエンジニアとしてどうなんだ
    「Chromeタブがアクティブな時のみ動作」など何かしら処理が軽くなるやり方があるはず。
    ただ、僕には救わなければいけない(ゲームの)世界が待っているので(略

最後に

ネタ投稿ですが、この問題点を解決してくれる方を熱望しています。
素敵なtwitterライフを満喫したい。

閲覧いただきありがとうございました:)

こちらの記事が楽しめた方がいればフォローお願いします。
https://twitter.com/iminux

2
0
0

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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?