【ユーザースタイルシート】新着ツイートのハイライトなどを消す
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【ユーザースタイルシート】新着ツイートのハイライトなどを消す

2016-06-25 18:45

    下記のサイトでプロモツイートを非表示にする方法が紹介されています。

    プロモツイートも自己主張し過ぎなので封印してみた - 黒翼猫のコンピュータ日記 2nd Edition

    これはAdBlockなどのブラウザ拡張機能を使わずに、ユーザースタイルシートを使用して特定のタグを非表示にするという方法でプロモツイートを非表示にしています。
    (非表示にするだけなのでデータそのものは読み込まれます)

    この方法を参考に新着ツイートのハイライトも非表示にできるのでは?と思い要素の調査を行ってみた結果、以下のCSSで非表示にすることができました。

    /* Twitter 新着ツイートのハイライトなど削除 */
    li.has-recap {
    display: none !important;
    }

    【解説】
    要素を調査したところ、新着ツイートのハイライトの表示を担っている要素にのみclass属性にhas-recapが含まれていることがわかりました。
    has-recapクラスのli要素に対し、display(表示形式)をnone(表示しない)に設定します。
    スタイルシートの優先順位は、製作者のスタイル > ユーザーのスタイル > ブラウザ既定のスタイル となっており、このままでは製作者のスタイルが優先されるので、!importantを加えてユーザーのスタイルを最優先にさせます。

    【追記】どうもこれだと不十分なケースが現れたので現在対処法を調査中
    【さらに追記】あれから不十分なケースが現れないため、調査に時間がかかりそうです。気長にお待ちください。(再び発生してみないことには何とも言えませんが、個人的にはTwitterが実装を間違えてるのでは?と思ってる。もしそうだとしたらバグが直るのを待つ以外どうすることもできません。)

    【さらにさらに追記】不十分なケースというのは勘違いかもしれません。詳しくは第2弾を参照してください。
    ちなみに、上記のCSSは新着ツイートのハイライトだけじゃなく「○○さんがいいね!しました」なども消えます。

    会社のPCなどブラウザに拡張機能が追加できない場合にどうでしょうか?(会社のPCでTwitterやるってのも変な話ですがw)
    各ブラウザのユーザースタールシートの適応の仕方については省略しますので各自調べてください。

    【応用】
    ユーザースタイルシートの適応はどのブラウザでも可能ですが、Twitterでのみ適応といったことはできず、すべてのサイトに対して適応されます。
    つまり上記のCSSの場合、Twitter以外のサイトのHTMLタグのclass属性にhas-recapが含まれていると、それも非表示にしてしまいます。
    拡張機能が追加できるのであればこれを解決することができます。

    IEには私の知る限りではこれを解決する方法は知りませんが、FirefoxやChromeではStylishという拡張機能でサイト別に別々のユーザースタイルシートを適応することができます。

    黒翼猫氏のプロモツイート非表示(Twitter 広告削除)と新着ツイートのハイライトと、さらにタイムライン上に表示されるおすすめユーザーも非表示にするStylish用の記述をすると以下の通りになります。

    @namespace url(http://www.w3.org/1999/xhtml);
    @-moz-document domain("twitter.com") {
    /* Twitter 広告削除 */
    li[class*="has-profile-promoted"] {
    display: none !important;
    }
    div[class*="promoted"] {
    display: none !important;
    }
    /* Twitter 新着ツイートのハイライトなど削除 */
    li.has-recap {
    display: none !important;
    }
    /* Twitter TL上のおすすめユーザー削除 */
    li.WtfLargeCarouselStreamItem {
    display: none !important;
    }
    }

    これでON/OFFのできない悪質な新着ツイートのハイライト(とついでにプロモツイート)を撃退だぜ!

    プロモツイートについて、広告収入があるからこそエンドユーザーに無償でサービスを提供できるのだから、広告は悪!とは言いませんが、ユーザビリティを損なってまで広告をねじ込むのは正直やめてほしいです。
    そこまでやるなら有料会員作って広告消します!というサービスがあってもいいと思うのですけどねぇ。

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。