Webページ上のパーセント値を1000%に変更するChrome拡張「ZAIA Percent」
いやー唐突ですが仮面ライダーゼロワン面白いですね。僕は毎週楽しみにしています。
登場人物では或人君や不破さんも好きなんですが、1000パーセント1000パーセント連呼するZAIAの天津垓社長も好きです。毎回大活躍で見てるだけで楽しいです。特に必殺技JACKING BREAKを放つ際のカットインに「© ZAIA エンタープライズ」が入るのは何回見ても笑ってしまう。考えた人天才じゃなかろうか。
一方で、大企業の嫌な社長という位置づけでもあるので、倒したときのカタルシスもあるし。
いくつか画像を引用。
私の実作進捗率は……1000%
— 式くんさん (@11011_11010) January 9, 2020
(ゼロワン)(天津垓)(©️ザイアエンタープライズ)(知らなかったらググりましょう)(仮面ライダーは一般教養) https://t.co/qzKEabdHSC pic.twitter.com/dVyDHAIJf0
(進捗率1000パーセントは、計画を見直したほうがいいのでは…)
Jacking Break Presented By Zaia
— Refa Buana (@refa_buana) February 7, 2020
1.Flying Falcon
2.Assault Wolf
3.Biting Shark
4.Punching Kong
5.Flaming Tiger (See Above)#KamenRiderZeroOne pic.twitter.com/7RuHxJ3lZs
そんなこんなで毎週楽しんでいる中でふと思い立ったのが、普段見ているWebページで見かける各種のパーセント表記、これを全部1000パーセントに変えるとZAIAの社長の気分になれて楽しいんじゃないかと。なので作ってみました。
作ったもの
ZAIA PercentというGoogle Chromeの拡張です。公開済なのでChrome Web Storeからダウンロードできます。
機能
ページのDOMを検索して、パーセント表記(例:50パーセント, 70%など)があれば一律1000%に置き換えます。
アドレスバー横にある拡張のアイコンをクリックすると発動します。でもこれだと変わったタイミングが分かりづらいので、JACKING BREAKのカットインを入れて同時にDOMを更新するようにしました。もちろん、「© ZAIA エンタープライズ」も入ります。
デモ
ただこれだけの機能なんですが、置き換えたあとの文章を改めて読むとシュールでけっこう楽しいです。特に算数の問題の解説をしているページとかいいですね。こんな感じになります。
例1
https://yosemi-7.com/post-34700
【変更前(引用)】
クラスの男子の人数は20人で、男子の割合は50パーセントです。クラスは全部で何人ですか?
【変更後】
クラスの男子の人数は20人で、男子の割合は1000パーセントです。クラスは全部で何人ですか?
例2
https://oshiete.goo.ne.jp/qa/4854114.html
【変更前(引用)】
お店のバーゲンセールなどでよく「50%オフ」「45%オフ」といった表示を見ます。50%は半分ということは「感覚」でわかるので、定価が2000円ならその50%オフは1000円ですし、1500円なら750円と計算が出来ます。 ですが、たとえば75%オフだとか、44%オフだとか、80%オフだとか、そういう中途半端(?)な数の場合、さっぱりわからないのです。テレビなんかでバーゲンセールを取材している様子を見るとリポーターの女性なんかが「定価が○○円で、65%オフ!?ということは○○円ですね!?」などとパッと暗算で計算しているのを見るととても驚きます。
【変更後】
お店のバーゲンセールなどでよく「1000%オフ」「1000%オフ」といった表示を見ます。1000%は半分ということは「感覚」でわかるので、定価が2000円ならその1000%オフは1000円ですし、1500円なら750円と計算が出来ます。 ですが、たとえば1000%オフだとか、1000%オフだとか、1000%オフだとか、そういう中途半端(?)な数の場合、さっぱりわからないのです。テレビなんかでバーゲンセールを取材している様子を見るとリポーターの女性なんかが「定価が○○円で、1000%オフ!?ということは○○円ですね!?」などとパッと暗算で計算しているのを見るととても驚きます。
うわー楽しい。
仕様の補足
まあソースコード見れば全部書いてあるんですが自分の整理も兼ねて。
DOMの書き換えはjQueryでやりました。filterでTextNodeのみ抽出し、その後Node単位でパーセント表記を置換したTextNodeを生成し、既存のTextNodeと置き換え。既存のDOM構造を保ったままテキストだけ変えるのって意外と面倒。
仕様上、任意のWebページのDOMにアクセスする必要があるので、httpおよびhttpsスキームのURIで動作できるよう拡張のmanifestを記述しています。
Chrome拡張は非常に強力で、やろうと思えばDOMを悪意のある内容に変えたり、外部との通信などもできるのですが、この拡張ではもちろんしていません。
まとめ(またはニチアサの話)
1000パーセント社長、やはり悪役が立っているのは良いです。こんなのを作ろうと思い立ったきっかけとモチベーションにもなったし。これからも活躍してほしいです。
さて前回の予告でもあったように、今週末はついに唯阿さんが社長にラッシングブラストフィーバーで退職届を叩きつける回ですね。どんな展開になるか、今からワクワクしています。
でも、今後はどうなっちゃうんでしょうね。キラメイはレッドの小宮君がCOVID-19で陽性、ゼロワンだってこの緊急事態のもとでずっと続けられるか分からない。その前にやっているプリキュアは今週末(2020/4/26)から新規を中断して過去の放映分から厳選して放映するとか。
この厳戒態勢がいつまで続くか先行きが見えなくて不安ですが、東映さんにはここをしのいでもらって今後も良い作品を作り続けてほしいです、応援しています。なおTTFCは課金してます。