istallia / niconicolive-tree-transfer

ニコ生にてBGMとしてニコニコ動画を流す際、開いた動画のIDを自動でニコ生のコンテンツツリーに転送(登録)するChrome拡張機能/Firefoxアドオン
GNU General Public License v3.0
0 stars 0 forks source link

引用動画に対応 #2

Closed istallia closed 3 years ago

istallia commented 3 years ago

ニコ生で動画を引用し紹介する場合、ある配信者は裏でニコニコ動画をそのまま流し、またある配信者は公式の引用機能を利用した。私のツールは前者のみを対象としたものであったため、引用機能で動画が紹介された場合、自動転送することができない。 そこで引用機能によって再生された動画であってもニコ生のツリーに転送できるようにする。ニコ生の放送ページにcontent-scriptを追加して、そこで引用機能の再生中動画の表示部分の変化をMutationObserverで検知、動画IDを抽出してbackground経由でツリー登録ページに転送する。生放送も出現するが、生放送は転送しない。あくまで動画のみである。 (ID検知パターンを改善するなら別Issue、別ブランチで作業する)

istallia commented 3 years ago

監視する対象である引用機能の要素はdiv[class^="___launch-item-area"]で取得できるっぽい。record.addedNodesbutton[class^="___item"]があれば、その下位のimgから動画のIDを取得する。srcのURLがhttps://nicovideo.cdn.nimg.jp/thumbnails/動画ID/動画ID.謎の数字となっているため、正規表現でIDを取得する。登録できないIDは無視しようかな

istallia commented 3 years ago

どうやらdiv[class^="___launch-item-area"]は毎回追加/削除されるようなので、div[class^="___lock-item-area"]を監視することにする。ともあれ動作検証は完了した。 これをURL化してbackgroundに送る処理を追加する。