>>657
これ ??
できるけどChromeがmanifestだけで自動的にライト/ダーク用アイコンを
切り替えてくれる仕組みは弱い/基本ない、と見た方がいい。
実装としては、JSでテーマを判定して chrome.action.setIcon() でツールバーアイコンを差し替える 形になる。
Chrome公式では、拡張機能のツールバーアイコンは action.default_icon で指定でき、
さらに chrome.action.setIcon() でプログラムから変更できると説明されている。
また、prefers-color-scheme はユーザーがライト/ダーク配色を要求しているかを検出するための仕組みで、
OS設定やユーザーエージェント設定を反映する。
Google Chrome 拡張機能 29 ※どんぐり有
663567 警備員[Lv.0][新芽] (ワッチョイ 3d96-d+y+)
2026/06/20(土) 14:04:19.78ID:PAJWywKD0664567 警備員[Lv.0][新芽] (ワッチョイ 3d96-d+y+)
2026/06/20(土) 14:05:07.89ID:PAJWywKD0 その2
例えばこういう感じ。
-----------------------
// popup.js や options.js など、window がある拡張ページ側で動かす
const mq = window.matchMedia("(prefers-color-scheme: dark)");
function applyIcon() {
const dark = mq.matches;
chrome.action.setIcon({
path: {
"16": dark ? "icons/icon-dark-16.png" : "icons/icon-light-16.png",
"32": dark ? "icons/icon-dark-32.png" : "icons/icon-light-32.png",
"48": dark ? "icons/icon-dark-48.png" : "icons/icon-light-48.png",
"128": dark ? "icons/icon-dark-128.png" : "icons/icon-light-128.png"
}
});
}
applyIcon();
mq.addEventListener("change", applyIcon);
-----------------------
例えばこういう感じ。
-----------------------
// popup.js や options.js など、window がある拡張ページ側で動かす
const mq = window.matchMedia("(prefers-color-scheme: dark)");
function applyIcon() {
const dark = mq.matches;
chrome.action.setIcon({
path: {
"16": dark ? "icons/icon-dark-16.png" : "icons/icon-light-16.png",
"32": dark ? "icons/icon-dark-32.png" : "icons/icon-light-32.png",
"48": dark ? "icons/icon-dark-48.png" : "icons/icon-light-48.png",
"128": dark ? "icons/icon-dark-128.png" : "icons/icon-light-128.png"
}
});
}
applyIcon();
mq.addEventListener("change", applyIcon);
-----------------------
665567 警備員[Lv.0][新芽] (ワッチョイ 3d96-d+y+)
2026/06/20(土) 14:05:47.47ID:PAJWywKD0 その3
manifest.json 側は、初期アイコンを普通に置いておく。
-----------------------
{
"manifest_version": 3,
"name": "Example",
"version": "1.0.0",
"action": {
"default_icon": {
"16": "icons/icon-light-16.png",
"32": "icons/icon-light-32.png",
"48": "icons/icon-light-48.png",
"128": "icons/icon-light-128.png"
}
}
}
-----------------------
manifest.json 側は、初期アイコンを普通に置いておく。
-----------------------
{
"manifest_version": 3,
"name": "Example",
"version": "1.0.0",
"action": {
"default_icon": {
"16": "icons/icon-light-16.png",
"32": "icons/icon-light-32.png",
"48": "icons/icon-light-48.png",
"128": "icons/icon-light-128.png"
}
}
}
-----------------------
666567 警備員[Lv.0][新芽] (ワッチョイ 3d96-d+y+)
2026/06/20(土) 14:06:48.11ID:PAJWywKD0 その4
注意点は、MV3のbackground service workerでは window.matchMedia() が使えないこと。
matchMedia() はWindowのAPIなので、popup/options/通常の拡張ページなど
windowがある場所で判定するのが素直。
なので結論としては、
可能。ただし「manifestで完全自動」ではなく、prefers-color-scheme を見てchrome.action.setIcon()で差し替える。
なお、これはOS/Chromeのライト・ダーク設定に寄せる方法で、ユーザーが独自のChromeテーマを入れて
ツールバー背景色だけ変えている場合まで完全には判定できない。
Chrome自体はライト/ダーク/デバイス設定に追従する表示モードを持っている。
注意点は、MV3のbackground service workerでは window.matchMedia() が使えないこと。
matchMedia() はWindowのAPIなので、popup/options/通常の拡張ページなど
windowがある場所で判定するのが素直。
なので結論としては、
可能。ただし「manifestで完全自動」ではなく、prefers-color-scheme を見てchrome.action.setIcon()で差し替える。
なお、これはOS/Chromeのライト・ダーク設定に寄せる方法で、ユーザーが独自のChromeテーマを入れて
ツールバー背景色だけ変えている場合まで完全には判定できない。
Chrome自体はライト/ダーク/デバイス設定に追従する表示モードを持っている。
667名無しさん@お腹いっぱい。 警備員[Lv.6][新] (JP 0H8f-S/Q7)
2026/06/22(月) 04:52:58.26ID:6lsjxqFNH AIに聞いたのかな?
この中にもだめな理由がちらっと書かれてるけど、実際にやってみたら何がだめなのかわかるよ
拡張機能を起動させるためのボタンのアイコンだから、拡張機能を起動させてない状態でスクリプトが働かないといけないんだよね
この中にもだめな理由がちらっと書かれてるけど、実際にやってみたら何がだめなのかわかるよ
拡張機能を起動させるためのボタンのアイコンだから、拡張機能を起動させてない状態でスクリプトが働かないといけないんだよね
668567 警備員[Lv.0][新芽] (ワッチョイ 5fa7-e/Io)
2026/06/23(火) 02:29:37.29ID:D0aLv24K0669567 警備員[Lv.0][新芽] (ワッチョイ 1dba-3bB7)
2026/06/30(火) 20:12:00.34ID:JztaN55l0 LLD若干修正しました。お使いの方はアップデートしてください。
https://x.com/Munus_Modulus/status/2071914420868096285
https://x.com/Munus_Modulus/status/2071914420868096285
670名無しさん@お腹いっぱい。 警備員[Lv.305][UR武+11][UR防限][木] (ワッチョイ 1d2d-+ZMf)
2026/07/01(水) 15:21:36.84ID:/fAkpF5Q0 https://github.com/violentmonkey/violentmonkey/pull/2399#issuecomment-4837583087
今日からViolentmonkeyをMV3へ移行する作業を始めたんだけど、だいたい動くようになったよ。たぶん明日には終わるかな。
今日からViolentmonkeyをMV3へ移行する作業を始めたんだけど、だいたい動くようになったよ。たぶん明日には終わるかな。
671名無しさん@お腹いっぱい。 警備員[Lv.213][苗] (ワッチョイW 4d9c-kLQJ)
2026/07/01(水) 17:36:06.29ID:mQNdId9T0672名無しさん@お腹いっぱい。 警備員[Lv.13] (ワッチョイ e18a-EMIz)
2026/07/02(木) 06:51:03.84ID:cTqnJUY50 使ったことないのでよくわからんのだけど、直にスクリプトを書くよりもこういうのを通した方が便利だったり出来ることが多かったりするの?
673名無しさん@お腹いっぱい。 警備員[Lv.22] (ワッチョイ 062b-5k5h)
2026/07/02(木) 14:48:29.14ID:tolETUyc0 youtubeを倍速で再生すると数分でグルグルになって止まるようになった
でも少しだけでもシークすると再生開始する
止まらないようにする拡張機能ないかな?
でも少しだけでもシークすると再生開始する
止まらないようにする拡張機能ないかな?
674名無しさん@お腹いっぱい。 警備員[Lv.1][警] (ワッチョイ cdf4-yqug)
2026/07/02(木) 19:58:44.89ID:Gs2pIzct0 まずは回線とかグラボとかの設定見直せ
675名無しさん@お腹いっぱい。 警備員[Lv.22] (ワッチョイ 062b-5k5h)
2026/07/02(木) 22:33:40.74ID:tolETUyc0 adguradオフにしたら止まらなくなった
でも本末転倒
こまったな
でも本末転倒
こまったな
676名無しさん@お腹いっぱい。 警備員[Lv.15] (ワッチョイ a1e5-C/FG)
2026/07/03(金) 01:13:29.13ID:p8drP1zr0 広告ブロック対策の嫌がらせの一環じゃないかな?
それなら暫くすればAdGuard側が更に対策すると思うよ(=いたちごっこ)
それなら暫くすればAdGuard側が更に対策すると思うよ(=いたちごっこ)
677名無しさん@お腹いっぱい。 警備員[Lv.0][新芽] (ワッチョイ 4da9-tdjy)
2026/07/03(金) 13:10:18.01ID:FdVSxP6t0 再生が止まるのが一番困るんだよな
最悪広告はいいとしてもそのまま自動で再生してくれないと
最悪広告はいいとしてもそのまま自動で再生してくれないと
678名無しさん@お腹いっぱい。 警備員[Lv.0][新芽] (ワッチョイ 4d36-013D)
2026/07/03(金) 23:58:48.41ID:dNk8jiy60 >>676
実際インターネット系の収益モデルは広告に頼ってる所多いのに
広告ブロッカー(uBOやAdGuard系)みたいな強力なのが使用不可にならないときつい部分もあるのかもね
実際あまり普及しない様に妨害してそうw
実際インターネット系の収益モデルは広告に頼ってる所多いのに
広告ブロッカー(uBOやAdGuard系)みたいな強力なのが使用不可にならないときつい部分もあるのかもね
実際あまり普及しない様に妨害してそうw
レスを投稿する