唐突にpixivが見れなくなりました。ソースも情報も出せるので通信自体は行ってる様子。でも画面真っ白。ログインページも真っ白で何も表示されないからヘルプページも調べられず何が起こったのか全く分かりません。 調べるとどうもpixiv全体がWebComponents必須になったっぽい。で、SeaMonkeyではabout:configからdom.webcomponents.enabledをtrueにすれば一応使えるんですが、Shadow DOM v0 APIなので誤作動するサイトの方が増えます。YouTubeもUserAgentを設定して見れるようにしてたのに台無しです。
そうなるとpixivの閲覧中だけdom.webcomponents.enabledを有効にするか、そういうプロファイルを作って切り替えるかで非常に使い勝手が悪い。楽な手はないかと探してみたら、実はSeaMonkeyのソースが置かれているGitLabでも同様の問題があるそうで、SeaMonkeyの公式がWebComponentsの作動を真似する"GitHub/GitLab Web Components Polyfill"というアドオンを紹介してました。 アドオンのソースを覗いてみると、サイト名がハードコーティングされているものの対象サイトを追加しやすくなってるようで、変数を2つばかり書き換えればpixivに対応できそうです。どうせならオリジナルとは共存できるようにしておけば更新の度に書き換える事もないなと。 そういう事でgithub-wc-polyfill-1.2.18.1.xpiをダウンロードして早速書き換えました(xpiはzipそのものです)。
・bootstrap.jsの352行目と353行目、glmaskとgithostを書き換える const glmask = "pixiv\\.net|booth\\.pm|fanbox\\.cc$"; const githost = new RegExp(glmask);