kphrx / ZenzaWatch

fix playlist
106 stars 10 forks source link

`window.ZenzaLib` が読み取れずにZenzaWatchが起動しない #28

Closed kphrx closed 1 year ago

kphrx commented 1 year ago
`window.ZenzaLib`とか`window.MylistPocketLib`が`undefined`になってる

Firefox Nightly 109.0a1 (2022-12-04)
Violentmonkey BETA v2.13.3.8

Originally posted by @kphrx in https://github.com/kphrx/ZenzaWatch/discussions/10#discussioncomment-4310272

kphrx commented 1 year ago

unsafeWindowに置き換えても治ったり治らなかったり。再現しづらい。Violentmonkeyのバグなのでは???

kphrx commented 1 year ago

Windowを返す値の型を確認した

inline scriptを作ってwindow.ZenzaLibを入れたときにSandbox.windowには反映されないのとSandbox.windowを編集してもsandboxedなのでinline scriptから見ることはできないみたい

Sandboxedされたviolentmonkeyのスクリプト同士であれば共有されるので、inline scriptを使うなということ?

kphrx commented 1 year ago

ZenzaWatchが読み込まれなかった時にscriptの設定で動作に影響を与えない @noframes の on/off を切り替えて保存することで一度だけv2.13.3と同じ挙動をしてるので一時的に動かす方法としてメモ

kphrx commented 1 year ago

Violentmonkeyの「Synchronous page mode」を有効にしたらpage scriptとして動いてZenzaWatchは動くようになった。MylistPocketは動かない

inject-into autoがCSPで蹴られてないのにcontentになってるっぽい?何もわからない

kphrx commented 1 year ago

Violentmonkey v2.13.6 / BETA v2.13.5.2 で page inject mode が機能しない問題が修正されてから「Synchronous page mode」を無効にしてもpage scriptとして実行されてるので何もしてないけど解決っぽい。Violentmonkeyのcontent contextで動かせたらZenzaWatch+MylistPocketみたいな感じの組み合わせで素直に連携しやすくなる可能性はあったけどとりあえず閉じとく