記事一覧はこちら

拡張機能を一通りニコニコ動画Zeroに対応

ニコニコ直ダウンローダー
ニコニコ最前面コメント
ニコニコ除ニコレポ
の3つの拡張機能ニコニコ動画zeroに対応させました。もちろん原宿にも対応しています。

 

順番に開発後記を。先ずはダウンローダー。
ぼつぼつストリーミングサーバーが存在してきたので、公式配信モノがストリーミングに置き換わったらどうしよう と心配していましたが
その心配もなく今までどおりDL出来ます。
動画のタイトルやタグが取得できなくなったかと焦りましたが、/watchの下の方に書いてありました。
contentScriptでは、#watchAPIDataContainerのinnerTextを取ってJSON.parseすれば色々取れます。
オブジェクトで一気にあれこれ取れるので、見つけてからはラクチンでした。
今までは投稿の秒数は取得できなかったけど(もしかしたらスレッド番号で取れたかも)、秒数も取れるようになりました。
視聴ページを開いて、console.log(JSON.parse(document.querySelector("#watchAPIDataContainer").innerText));で取れると思います。
ユーザー投稿動画、運営投稿動画チャンネル投稿動画の三種類で確認しました。

 

先にニコレポ。
レイアウトは当然変わりましたが、ニコレポの内容はほぼ変化なし。ニコると動画レビューの項目が追加されただけかな。

 

最後に最前面。
これが最難関でした。原宿はaddVariableを上書きしてやればよかったのですが、Zeroでは出来ませんでした。
最前面の情報も前述の#watchAPIDataContainerに書いてあるのですが、最初に読み取ってグローバルオブジェクトに放り込んでるらしいんですよね。
グローバルオブジェクトを消して、無理やりjsを再読み込みさせると、DOMエレメントに対して二重に初期化され、コメント欄が消えたりして上手く行かず。
グローバルオブジェクトのどこに属性が記録されているかを調査したのですが、スキル不足で分かりませんでした。
結局、関数を切り貼りしたら無事動いたので、それでリリースしました。

 

動画プレイヤーの下にある動画のサムネイルから動画を切り替え出来ますが、結局ページを移動しているだけでした。
何が原点回帰なのか知らんけど、また慣れるかな。
ユーザに叩かれてレイアウトが変わるのが一番怖いということで。