๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ง์ด ๊ทธ๊ฒ์ ์ง์ํ์ง ์์๊ธฐ ๋๋ฌธ์ Firefox๋ ํ๋์ ํด๋ฆฌํ์ registerMenuCommand ๋ถ๋ถ์ด ์์กดํ๋ ์ปจํ ์คํธ ๋ฉ๋ด ์์ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๋ ๊ณต๊ฐ ๋ฒ๊ทธ ๊ฐ ์์์ต๋๋ค.
์ด์ ๋๊ตฐ๊ฐ๊ฐ ๊ทธ๊ฒ์ "๊ณ ์ "(์ฆ, ์ง์ ์ ๊ฑฐ)ํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก GM4๊ฐ ์ด์ ๋ํ ์์ฒด ์ง์์ ์ ๊ณตํ์ง ์๋ ๊ฒ์ ์ฌ๊ณ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ ์ ํ ๋์ฒด๊ฐ ์ ๊ณต๋์ง ์์ผ๋ฉด GreaseMonkey์ ๋ํ ์ง์์ ์ค๋จํ๊ณ ๊ธฐ์ ์ ์ธ ์ด์ ๋ก ViolentMoney ๋ฐ TamperMonkey๋ง ์ง์ํ ์ ์๋ค๊ณ ์ฌ์ฉ์์๊ฒ ์ง์ํด์ผ ํฉ๋๋ค. "ํ ๋ฒ ์ค์ ํ๊ณ ๊ฑฐ์ ๋ณ๊ฒฝํ์ง ์๋" ๊ตฌ์ฑ UI ๋ฒํผ์ผ๋ก ์ฌ์ดํธ๋ฅผ ์ด์ง๋ฝํ๋ UX๋ ํ์ฉ๋์ง ์์ต๋๋ค.
+1
๋๋ HTML 5 ์ปจํ
์คํธ ๋ฉ๋ด๋ฅผ ๋ง์ด ์ข์ํ์ง๋ง, ์ฌ๋ผ์ง๋ฉด GM.registerMenuCommand๊ฐ ๋ค์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ค์ค ์ฌ์ดํธ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ์ ๋ํ ๋ค๋ฅธ ์์ ์๋ฃจ์
์ ์ ์ง ๊ด๋ฆฌํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ฌ์ฉํ๊ณ ์ถ์ UI/API์ ๋ํ ์ ์ ์ฌํญ์ด ์์ต๋๊น?
์์ญ์ด ๋ฉ๋ด์ ๋ฑ๋กํด์ผ ํ ๊ฒ ๊ฐ์๋ฐ์?
๊ทธ๊ฒ์ด TamperMonkey์ ViolentMonkey๊ฐ ํ๋ ๋ฐฉ์์ ๋๋ค.
๋ค๋ฅธ ์ต์
์ browser.menus.create
๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ userscript ๋ฑ๋ก ๋ฉ๋ด ํญ๋ชฉ์ ์ปจํ
์คํธ ๋ฉ๋ด์ ํ์ ๋ฉ๋ด์ ๋ฐ์ด๋ฃ๋ ํด๋ฆฌํ์ ๊ธฐ๋ฅ์ ๊ทผ์ฌํํ๋ ๊ฐ๋ฅ์ฑ์ ํ์ํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฌ๋๋ค์ ์ผ๋ฐ์ ์ผ๋ก ์ํฉ์ ๋ง๋ ๋ฉ๋ด๋ฅผ ๊ธฐ๋ํ๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ง๊ฒ ๋ฒ์๋ฅผ ์ง์ ํ ์ ์๋ ๋ฐฉ๋ฒ ์์ด ์ต์ ์
๋๋ค.
(๊ทธ๋ฆฌ๊ณ ์ด์์ ์ผ๋ก๋ Firefox์ ์ ๋์จ ๊ด๋ฆฌ์๊ฐ ์๋ํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ์ปจํ ์คํธ ๋ฉ๋ด๊ฐ ์๋ ์์ญ์ด ๋ฉ๋ด์ "์ด ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ ๊ตฌ์ฑ" ํญ๋ชฉ์ ๋ฃ๋ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ด ์ข์ต๋๋ค.)
ํ์๋ ์ค์ ๋ก "์คํ ๊ฐ๋ฅ์ฑ ํ์"์ ๋๋ค. WebExtensions API๋ฅผ ์ฐ๋ฌ๋ณธ ์ง ๋๋ฌด ์ค๋๋์ด ๊ทธ ์ ์์ ํ๊ณ๊ฐ ๊ธฐ์ต๋์ง ์์ต๋๋ค. (์ ๋ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ๊ฐ ๋ ์ด์ ๊ฐ๋ฅํ๊ณ ํ์ ํ์ฅ ์๋ช ์ ๋ฐ๋ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํฉ๋๋ค.)
๋ค์์ ์ด์ ์ค๋ ๋์
๋๋ค.
https://github.com/greasemonkey/greasemonkey/issues/2714
@arantius
์์ญ์ด ๋ฉ๋ด์ ๋ฑ๋กํด์ผ ํ ๊ฒ ๊ฐ์๋ฐ์?
์ปจํ ์คํธ ๋ฉ๋ด๊ฐ ์ฌ์์์ ํ๊ธฐ๋์ง ์์๋๋ผ๋ GM_registerMenuCommand ๋์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋จ์ ์ด ์์ต๋๋ค.
Firefox ํธ๋ ํฌ๋ Firefox 85์ ๋ชฉํ ๋ฆด๋ฆฌ์ค ๋ง์ผ์คํค๊ณผ ํจ๊ป <menuitem>
์ ๋ํ ์ก์ธ์ค๋ฅผ ๋นํ์ฑํํ๋ ํจ์น๋ฅผ ์ถ์ํ์ต๋๋ค.
https://bugzilla.mozilla.org/show_bug.cgi?id=1680596#c11
(๊ตฌ์ฒด์ ์ผ๋ก๋ ๊ธฐ๋ณธ๊ฐ์ด false์ธ dom.menuitem.enabled
pref ๋ค์ ๋ฃ์ต๋๋ค.)
@arantius GM.registerMenuCommand() ๊ตฌํ์ด ์๊ธํ ๋ฌธ์ ๊ฐ ๋์์ต๋๋ค.
์ด API๋ Violemntmonkey์ Tampermonkey๋ ๋ฌผ๋ก Greasemonkey 3.x์์๋ ๊ตฌํ๋์์ต๋๋ค. ์์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๊ต์ฒดํ ์ ์์ผ๋ฉฐ ํธํ์ฑ์ ์ค์ํฉ๋๋ค.
https://github.com/greasemonkey/greasemonkey/pull/2770 ์ ๋ฐ์ดํธ์์ ๊ตฌํ์ ๋ํ ๋ชจ๋ ์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ์ ๋ณํฉํ ์ ์์ต๋๊น?