質問編集履歴

5

補足情報を修正

2024/11/15 04:52

投稿

CTRL-S
CTRL-S

スコア182

test CHANGED
File without changes
test CHANGED
@@ -40,10 +40,12 @@
40
40
 
41
41
  ### 補足情報(FW/ツールのバージョンなど)
42
42
 
43
- 確認用UserScriptでtrueとなる条件は
43
+ 確認用UserScriptでtrue(問題が発生しない)となる条件は
44
44
  ・スーパーリロードする。※JavaScriptで location.reload(true) でもOK。
45
45
  ・https://x.com/i/bookmarks を新規タブで開く。
46
46
  ・プライベートウィンドウ(非ログイン)で開く。
47
+ 上記以外はfalse(問題が発生する)となります。
48
+ 例えば https://x.com/home を新規タブで開いた時は常に発生します。
47
49
 
48
50
  Instagramも複数のタブを一気に開いた時にたまにfalseになります。
49
51
  でも最近は発生してないかな。

4

試したこと(2)(3)を追記

2024/11/14 18:09

投稿

CTRL-S
CTRL-S

スコア182

test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,22 @@
83
83
  script-src のリストの最後の「nonce-~」がリロード時は先頭にも同じものが追加されてる(意味あるの?)。
84
84
  という一点のみでした。
85
85
  なのでCSPは関係ない?のかなと思います。
86
+
87
+ ### 試したこと(2)
88
+
89
+ 他のアドオンが関係しているかもしれない件を検証
90
+
91
+ Tampermonkey以外のアドオンを全て無効にしてみましたが、変化はありませんでした。
92
+
93
+ ### 試したこと(3)
94
+
95
+ x.com、twitter.comのキャッシュを削除してみる。
96
+
97
+ x.comを開きログインしたセションではrawで実行されました。
98
+ また通常のリロードをしてもrawで実行されました。
99
+ しかし、rawで実行されるのはそのセションだけで
100
+ 別のセション(別タブで新たにx.comを開く)だと、jsモードになってしまいました。
101
+ 数回試してみましたが、同じ挙動となりました。
102
+
103
+ また、よくわからない挙動になってますます混乱気味です。
104
+

3

追記しました。

2024/11/14 12:43

投稿

CTRL-S
CTRL-S

スコア182

test CHANGED
File without changes
test CHANGED
@@ -71,3 +71,15 @@
71
71
  GM_info.options.sandboxはどちらも"raw"なのに何故変わってしまうのか??
72
72
 
73
73
  これが原因なのは間違いなさそうですが、何故そうなるのかは不明のままです。
74
+
75
+ ### 追記
76
+
77
+ https://www.tampermonkey.net/changelog.php?locale=en&more=true&show=fcmf#v4.20.6187
78
+ には
79
+ In Firefox, if the page CSP blocks injection, userscripts are now injected into a JavaScript-mode @sandbox, which may require cloneInto and friends for unsafeWindow property modification
80
+ という記述がありました。
81
+ CSPでブロックされた場合はJavaScriptモードで実行する。という意味なのかな。
82
+ という事で、リロード時とスーパーリロード時のCSPを比べてみましたが結果はほぼ同じでした。
83
+ script-src のリストの最後の「nonce-~」がリロード時は先頭にも同じものが追加されてる(意味あるの?)。
84
+ という一点のみでした。
85
+ なのでCSPは関係ない?のかなと思います。

2

「試したこと(追記)」を追加

2024/11/14 06:19

投稿

CTRL-S
CTRL-S

スコア182

test CHANGED
File without changes
test CHANGED
@@ -58,3 +58,16 @@
58
58
 
59
59
  原因が分かる方はいますでしょうか?
60
60
  解決方法、または解決の糸口を教えて頂ければ幸いです。
61
+
62
+ ### 試したこと(追記)
63
+
64
+ 確認用UserScriptに「console.log('✅GM_info:', GM_info);」を入れて確認した所
65
+
66
+ スーパーリロード後は
67
+ GM_info.sandboxMode === "raw"
68
+ ですが、リロード後は
69
+ GM_info.sandboxMode === "js"
70
+ となっていました。
71
+ GM_info.options.sandboxはどちらも"raw"なのに何故変わってしまうのか??
72
+
73
+ これが原因なのは間違いなさそうですが、何故そうなるのかは不明のままです。

1

@sandbox raw を row と間違ってたので修正。間違っててもデフォルトのrawで動作するので結果は同じです。

2024/11/13 18:19

投稿

CTRL-S
CTRL-S

スコア182

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
  // @match https://x.com/*
17
17
  // @match https://www.instagram.com/*
18
18
  // @run-at document-start
19
- // @sandbox row
19
+ // @sandbox raw
20
20
  // @noframes
21
21
  // @grant unsafeWindow
22
22
  // ==/UserScript==
@@ -28,7 +28,7 @@
28
28
  })();
29
29
  ```
30
30
  // @grant unsafeWindow
31
- は入れても入れなくても無くても同じでした。
31
+ は入れても入れなくても同じでした。
32
32
  期待通りに動作する時はtrue、反応しない時はfalse
33
33
 
34
34
  ### 試したこと