Greasemonkey: WebExtension ํ˜ธํ™˜์„ฑ

์— ๋งŒ๋“  2015๋…„ 09์›” 16์ผ  ยท  36์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: greasemonkey/greasemonkey

WebExtensions๊ฐ€ ๋‚ด๋…„์— ์ถœ์‹œ๋˜๊ณ  XUL/XPCOM์ด ๊ฒฐ๊ตญ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋˜๋ฉด์„œ ํ•„์š”ํ•œ ๊ณณ์—์„œ ์ €์ˆ˜์ค€ API์˜ ์‚ฌ์šฉ์„ ์ œํ•œํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • html์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ฆฌ์Šค๋ชฝํ‚ค ํŒ์—… ์ฐฝ์„ ํƒญ์œผ๋กœ ๋ณ€ํ™˜
  • ์‹œ์ž‘์„ XUL ์˜ค๋ฒ„๋ ˆ์ด ๋Œ€์‹  ๋ถ€ํŠธ์ŠคํŠธ๋žฉ/์žฌ์‹œ์ž‘ ์—†๋Š” ํ™•์žฅ์œผ๋กœ ๋ณ€๊ฒฝ
  • ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ˜„์žฌ JSM์„ ํ˜ธ์ถœํ•˜๋Š” SDK main.js๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. currnet ์ฝ”๋“œ ์ฃผ๋ณ€์˜ ์–‡์€ ์…ธ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ jpm์„ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์œ ์šฉํ•œ ๊ฒฝ์šฐ SDK ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค(์˜ˆ: ๋„๊ตฌ ๋ชจ์Œ ๋ฒ„ํŠผ). JSM์€ SDK ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—…์„ ์ ์ง„์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

"์˜ค๋ž˜๋œ" API์˜ ํ‘œ๋ฉด์ด ์ผ๋ถ€ ํ•„์ˆ˜ ๋ถ€๋ถ„์œผ๋กœ ์ถ•์†Œ๋˜๋ฉด Mozilla ์ง์›์—๊ฒŒ WebExtensions ๋Œ€์ฒดํ’ˆ์„ ์ œ๊ณตํ•˜๋„๋ก ์ž๊ทนํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ์•ฝ๊ฐ„์˜ ์ง„์ „์„ ์ด๋ฃจ์—ˆ๋‹ค.

https://github.com/arantius/greasemonkey/tree/webbymonkey (88d53b4c67b7825858405eb2591f27c8487ce413์—์„œ)

์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธํ•˜๊ณ  about:debugging ๋กœ ์ด๋™ํ•˜์—ฌ "์ž„์‹œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋กœ๋“œ"๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ฃจํŠธ ์œ„์น˜์—์„œ ํŒŒ์ผ์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ฒจ์šฐ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์€ ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. (์Œ, ์›์ˆญ์ด ๋ฉ”๋‰ด๊ฐ€ ์žˆ์ง€๋งŒ ๊ดœ์ฐฎ์•„ ๋ณด์ด๋Š” ๊ฒƒ ์™ธ์—๋Š” ์•„๋ฌด ๊ฒƒ๋„ ํ•˜์ง€ ์•Š๋Š” ๋นˆ ๊ฐ€์งœ์ž…๋‹ˆ๋‹ค.) ์ด ์ž‘์€ ๊ธฐ๋Šฅ ์„ธํŠธ์—๋„ ๋งŽ์€ TODO๊ฐ€ ์ฝ”๋“œ ์ฃผ์œ„์— ํฉ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ "์˜ฌ๋ฐ”๋ฅธ ๊ฒฝ๋กœ"์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  36 ๋Œ“๊ธ€

์ด ๋ฌด๋ฆฌ์— ๋Œ€ํ•ด ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•œ "๊ฒฐ์ •"์€ ์—†์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ๋Š” e10s ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•œ ํฌํŒ… ํ”„๋กœ์„ธ์Šค๋ฅผ _๊ทธ๋ƒฅ_ ๋งˆ์ณค์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‹œ์ž‘ํ•  ๋•Œ ํ›จ์”ฌ ๋” ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Services.ppmm์™€ .cpmm๋Š” ์ข‹์€ ๋ฐ”๋กœ๊ฐ€๊ธฐ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์•˜๊ฒ ์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ (์ฑ…์ž„์žˆ๊ฒŒ) ์‹œ์ž‘ํ•  ๋•Œ๋Š” ์กด์žฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ๊ทธ ์ž‘์—…์€ ๊ธธ๊ณ  ๋งค์šฐ ๊ณ ํ†ต์Šค๋Ÿฌ์› ๊ณ , ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • e10s ๋กค์•„์›ƒ์€ Firefox 36 (2014๋…„ 9์›” ๊ธฐ์ค€)์—์„œ Firefox 42 (2015๋…„ 9์›” ํ˜„์žฌ)๋กœ, ๋˜๋Š” ์ตœ์†Œ 9๊ฐœ์›” ๋™์•ˆ ๋ฏธ๋„๋Ÿฌ์กŒ์Šต๋‹ˆ๋‹ค.
  • ๋ฐœํ‘œ์— ๋”ฐ๋ฅด๋ฉด webextensions-only๋Š” ์ตœ์†Œ 1๋…„ ๋˜๋Š” 2๋…„ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ 2, 3, 4๋…„์œผ๋กœ ๋ฏธ๋„๋Ÿฌ์งˆ๊นŒ์š”?
  • ์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ํ•  ๊ฒƒ์ด๋ผ๋ฉด, ์ง€๊ธˆ์ด ์™„์ „ํžˆ ํœด์‹์„ ์ทจํ•˜๊ณ  ๋‹ค์‹œ ์„ค๊ณ„ํ•ด์•ผ ํ•  ์ ๊ธฐ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

    • ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ฒฐ์ฝ” ์žก์„ ์ˆ˜ ์—†๋Š” ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ๊ทธ๋“ค์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ผ๋ถ€๋„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์ข‹์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜์ฏค ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

    • ๋งˆ์นจ๋‚ด Android ์ง€์›์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

    • ์‹ค์ œ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ž‘์„ฑํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ• ์ง€ ์‹ ์ค‘ํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ด๋ ‡๊ฒŒ ํฐ ๋‹ค๋ฅธ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ›จ์”ฌ ๋” ๊ฐ•๋ ฅํ•œ Greasemonkey/Mozilla ๊ด€๊ณ„๊ฐ€ ํ˜•์„ฑ๋˜๊ธฐ๋ฅผ ์ •๋ง๋กœ ์›ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ˜„์‹ค๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•ฝํ•œ ์ถ”์ธก๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์˜ค๋Š˜๋‚  webextensions์™€ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ํฌํŒ…ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๋ฌธ ํ…Œ์ŠคํŠธ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋…„์— ๊ฑธ์ณ ์šฐ๋ฆฌ๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„ํš์˜ ์ผ๋ถ€๋กœ ์–‘๋ฐฉํ–ฅ ์˜์‚ฌ ์†Œํ†ต์ด ์•„๋งˆ ๋งŽ์€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋””์ž์ธ ๋ฌธ์„œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์ƒ๊ฐ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  Greasemonkey๊ฐ€ ๊ณ„ํš๋˜์ง€ ์•Š์€ ์œ ๊ธฐ์ ์œผ๋กœ ์žฌ๋ฐฐ๋œ ๋ฐฉ์‹์ด ์•„๋‹Œ ์ข‹์€ ๋ฐฉ์‹์„ ์œ„ํ•œ ๊ณ„ํš์œผ๋กœ ์กด์žฌํ•˜๋ฏ€๋กœ ๋ชจ๋“  Greasemonkey๋ฅผ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Services.ppmm์™€ .cpmm๋Š” ์ข‹์€ ๋ฐ”๋กœ๊ฐ€๊ธฐ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์•˜๊ฒ ์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ (์ฑ…์ž„์žˆ๊ฒŒ) ์‹œ์ž‘ํ•  ๋•Œ๋Š” ์กด์žฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์•„์ง WebExtensions๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜นํ˜ธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ GM๊ณผ ๊ฐ™์€ ๊ฒƒ์— ๋Œ€ํ•ด ๋ฏธ์„ฑ์ˆ™ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ž‘์„ฑํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ• ์ง€ ์‹ ์ค‘ํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ , ๊ธ€์Ž„์š”, ์ €๋Š” ์ฃผ๋กœ ๊ธฐ์ˆ  ๊ด€์ ์—์„œ ๊ทธ๊ฒƒ์„ ๋ณด๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ UI๋Š” ๊ณต์œ  ํฌ๋กฌ ํ™˜๊ฒฝ์—์„œ XUL ์˜ค๋ฒ„๋ ˆ์ด์™€ ์ง์ ‘ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ HTML๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๊ฐ๊ฐ์„ ๋…๋ฆฝ์ ์ธ ์ฐฝ ์ปจํ…์ŠคํŠธ์—์„œ ์‹คํ–‰ํ•˜๊ณ  ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์„ ํ†ตํ•ด์„œ๋งŒ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ด ๋ฏธ๋ž˜์— ์ผ์ด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€ ๊ด€๋ฆฌ์ž๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌํ˜„๋˜๋Š” ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๋Š” ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. WebChannel.jsm/BroadcastChannel/MessageChannel/WebExtension ์ฑ„๋„ ๋“ฑ.

๋””์ž์ธ ๋ฌธ์„œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์ƒ๊ฐ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

GH Wiki๊ฐ€ ์ด์— ์ ํ•ฉํ•œ ์žฅ์†Œ๊ฐ€ ๋ ๊นŒ์š”? ํ˜‘์—… ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํŽธ์ง‘ ์‹œ ์•Œ๋ฆผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๊นŒ?

์šฐ๋ฆฌ๋Š” ๋Œ€๋ถ€๋ถ„ ๊ธฐ๋Šฅ/๋‚ด๋ถ€ ๋ฐฐ๊ด€ ๋ชฉ๋ก๊ณผ ๊ฐ๊ฐ์„ ๊น”๋”ํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์˜ ์ฃผ์ œ์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋ฉด ๋‹ค์Œ์„ ์ฝ์–ด๋ณด์‹ญ์‹œ์˜ค.

https://groups.google.com/d/topic/greasemonkey-dev/K6IyDUWnTQc/discussion

๊ฐ์‚ฌ ํ•ด์š”!

https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API/์†Œ๊ฐœ

์ด๊ฒƒ์€ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด API์ด์ง€๋งŒ "์ด ๊ธฐ๋Šฅ์€ ๋น„ํ‘œ์ค€์ด๋ฉฐ ํ‘œ์ค€ ํŠธ๋ž™์— ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค." ํ˜ธํ™˜์„ฑ์ด ๋งค์šฐ ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ Greasemonkey-under-WebExtensions๋ฅผ ์„ค๊ณ„ํ•˜๋ ค๋Š” ์ตœ๊ทผ์˜ ๋ชจ๋“  ์‹œ๋„(#2483, #2484 ์ฐธ์กฐ)๋Š” ์‹ค๋ง์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ข€ ๋” ์ง„๋ณด์ ์ธ ๊ฐœ๋ฐœ ์Šคํƒ€์ผ์„ ๊ณ ๋ คํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ œํ•œ๋œ ๊ธฐ๋Šฅ ์„ธํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ทธ ์„ธํŠธ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ธˆ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ๋‚˜์ค‘์— ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐพ์œผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‚ด 3.x ์„ค์น˜๋ฅผ ๊ฒ€์‚ฌํ•˜๋ฉด ๋ชจ๋“  ๋‹จ์ผ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ <strong i="6">@grant</strong> none ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 27๊ฐœ ์ค‘ 6๊ฐœ๋งŒ @run-at document-start ์„ ์‚ฌ์šฉํ•˜๊ณ , ๊ทธ ์ค‘ ๋Œ€๋ถ€๋ถ„์€ ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ตœ์†Œํ•œ ์–ด๋Š ์ •๋„ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. @require ๊ธฐ๋Šฅ์€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋ฉฐ @resource ๊ฝค ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋จผ์ € ๋ชฉํ‘œ๋กœ ์‚ผ๊ธฐ์— ์ ์ ˆํ•œ ๋ชฉํ‘œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. <strong i="12">@grant</strong> none ๋ชจ๋“œ์—์„œ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ง€์›ํ•˜๊ณ  GM_ API๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ง€์› @require . ์–ด๋–ป๊ฒŒ๋“ , ์•„๋งˆ๋„ ๋น„ํšจ์œจ์ ์œผ๋กœ @resource ๋ฅผ ์ง€์›ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

(์ฐธ๊ณ ๋กœ, ๊ณ„์† ์žŠ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—: sourceURL ์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์•ฝ๊ฐ„ ๋” ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ sourceURL์ด ์ง€์›๋˜๋Š”์ง€ ๋˜๋Š” @require ์ธ์ˆ˜๋กœ sourceMap์„ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€(ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?) ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

WebExtension API ์™ธ์—๋„ ์ผ๋ฐ˜ ์›น API์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

? WebExtension์— ๋Œ€ํ•œ IndexedDB์˜ ์Šคํ† ๋ฆฌ์ง€ ์ œํ•œ์€ ์–ผ๋งˆ์ž…๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ storage.local ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋‚˜์€ ์˜ต์…˜์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„œ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  ์„ ํƒ์  ์ฝ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋” ๋งŽ์€ ๊ถŒํ•œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š”. ๋ฌธ์„œ๋„๊ตฌ๋„ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

https://github.com/mdn/webextensions-examples/pull/171 ์€ IndexedDB์— ๋Œ€ํ•œ ๊ท€์ค‘ํ•œ ํ† ๋ก ๊ณผ ์˜ˆ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์•ฝ๊ฐ„์˜ ์ง„์ „์„ ์ด๋ฃจ์—ˆ๋‹ค.

https://github.com/arantius/greasemonkey/tree/webbymonkey (88d53b4c67b7825858405eb2591f27c8487ce413์—์„œ)

์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธํ•˜๊ณ  about:debugging ๋กœ ์ด๋™ํ•˜์—ฌ "์ž„์‹œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋กœ๋“œ"๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ฃจํŠธ ์œ„์น˜์—์„œ ํŒŒ์ผ์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ฒจ์šฐ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์€ ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. (์Œ, ์›์ˆญ์ด ๋ฉ”๋‰ด๊ฐ€ ์žˆ์ง€๋งŒ ๊ดœ์ฐฎ์•„ ๋ณด์ด๋Š” ๊ฒƒ ์™ธ์—๋Š” ์•„๋ฌด ๊ฒƒ๋„ ํ•˜์ง€ ์•Š๋Š” ๋นˆ ๊ฐ€์งœ์ž…๋‹ˆ๋‹ค.) ์ด ์ž‘์€ ๊ธฐ๋Šฅ ์„ธํŠธ์—๋„ ๋งŽ์€ TODO๊ฐ€ ์ฝ”๋“œ ์ฃผ์œ„์— ํฉ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ "์˜ฌ๋ฐ”๋ฅธ ๊ฒฝ๋กœ"์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด์ „ ๋ฒ„์ „์˜ Tampermonkey์™€ Violentmonkey๋Š” ์˜คํ”ˆ ์†Œ์Šค์ด๋ฏ€๋กœ WebExtensions๊ฐ€ Chromium Extensions์™€ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์ฝ”๋“œ ์ค‘ ์ผ๋ถ€๋ฅผ ์—ฌ๊ธฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
ํŽธ์ง‘: ์‚ฌ์‹ค, ๊ทธ๊ฒƒ์„ ๋ณด๋ฉด ์ด์ „ Tampermonkey์™€์˜ ๋ผ์ด์„ ์Šค ํ˜ธํ™˜์„ฑ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Violentmonkey๋Š” MIT ๋ผ์ด์„ผ์Šค์ด๋ฏ€๋กœ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

@PorygonZRocks : Violentmonkey๊ฐ€ Greasemonkey๊ฐ€ ๋˜๋‹ค?

์ฝ”๋”ฉ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ๋งŽ์ง€๋Š” ์•Š์ง€๋งŒ ์ตœ์†Œํ•œ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์ง€์นจ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ๊ฒฝํ—˜์ด ๋งŽ์ง€ ์•Š๊ฑฐ๋‚˜ ์ง€์‹์ด ์—†์œผ๋ฏ€๋กœ ํ‹€๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

FF56์ด ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ชจ๋“  ์• ๋“œ์˜จ์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐํ•œ์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด dev ๋ถ„๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ƒ๋‹นํžˆ ๊ฑฐ์น ์ง€๋งŒ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ด ์ž‘์—…์ด ์™„๋ฃŒ๋˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด ๊ด‘๋ฒ”์œ„ํ•œ ๋ฌธ์ œ์—์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์ถ”์ ํ•  ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค.

@arantius ํ˜ธ๊ธฐ์‹ฌ์— ์ƒˆ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ์ด์ „ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋„์›€์ด ํ•„์š”ํ•˜์„ธ์š”?

์˜ˆ๋ฅผ ๋“ค์–ด "parse-meta-line.js"์˜ ๋ชฉ์ ์€ ๋‹จ์ˆœํžˆ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๊นŒ?

@arantius ํ˜ธ๊ธฐ์‹ฌ์— ์ƒˆ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ์ด์ „ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋Œ€๋ถ€๋ถ„ ์ƒˆ๋กญ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋  ๋•Œ/์–ด๋””์„œ๋‚˜ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. (์ง€๊ธˆ๊นŒ์ง€๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌ๋ฌธ ๋ถ„์„์ด ํฐ ์˜ˆ์ž…๋‹ˆ๋‹ค.)

๋„์›€์ด ํ•„์š”ํ•˜์„ธ์š”?

๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์กฐ์ •์ด ์–ด๋ ค์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด "parse-meta-line.js"์˜ ๋ชฉ์ ์€ ๋‹จ์ˆœํžˆ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๊นŒ?

ํ•œ ์ค„, ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

ํ•œ ์ค„, ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
๋‚ด ๋ง์€, ๋‹ค์Œ ์‚ฌ์ด์˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ ์™ธ์— ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๊นŒ?

// ==UserScript==
....
// ==/UserScript==

๊ทธ๊ฒƒ์ด ์œ ์ผํ•œ ๋ชฉ์ ์ด๋ผ๋ฉด ๋งŽ์€ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

๋„ค, ๊ทธ๊ฒŒ ํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์ด ํ† ๋ก ์„ https://groups.google.com/d/topic/greasemonkey-dev ๋กœ ๊ฐ€์ ธ

Google ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค :(
์ €๋ผ๋ฉด... ์•„๋งˆ ๋‹ค๋ฅด๊ฒŒ ํ–ˆ์„ ๊ฒ๋‹ˆ๋‹ค.

Google ๊ทธ๋ฃน์ด ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž˜๋ชป๋œ ๋งํฌ: https://groups.google.com/forum/#!forum/greasemonkey -dev

์ด๊ฒƒ์ด ์ •ํ™•ํ•œ ์œ„์น˜์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์–ด์จŒ๋“  ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ๋ณ„๋„์˜ ์ด์Šˆ @arantius๋ฅผ ์—ด๊ธธ ์›ํ•˜์‹ ๋‹ค๋ฉด , ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค.
4.0.0์€ ๊ธฐ์กด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€์š”? ์•ŒํŒŒ 3(์ตœ์‹  ๋น„๋ฒ ํƒ€ ๋ฒ„์ „์—์„œ ์ œ๊ณต)์œผ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ๊ณ  ๋” ์ด์ƒ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

@Phyxion , 3.14๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ 4.x๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ƒˆ ๋ฌธ์ œ์˜ ๋ช‡ ๊ฐ€์ง€ ์„ธ๋ถ€์ ์ธ ์žฌ์ƒ์‚ฐ ๋‹จ๊ณ„๊ฐ€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Greasemonkey 4 ์•ŒํŒŒ๋Š” Firefox 57๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@erkinalp , ์ž์„ธํžˆ

@Sxderp ๊ธ€์Ž„, ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๊ทธ๊ฒƒ์„ ์žฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์Šต๋‹ˆ๋‹ค. 10๊ฐœ์˜ ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ์™€ ํ•จ๊ป˜ 3.14๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. AMO๋กœ ์ด๋™ํ•˜์—ฌ ์ตœ์‹  ์•ŒํŒŒ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค. ์š”์ฒญํ•˜๋ฉด ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ค์น˜๋œ ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์—†๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์žฌ์ƒ์‚ฐ์— ์–ผ๋งˆ๋‚˜ ์œ ์šฉํ•œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•„์ง ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜์ง€๋งŒ GM4๋Š” ์ œ๊ฑฐ ํ›„ ๊ตฌ์„ฑ์ด ์†์‹ค ๋˜์–ด์•ผ ํ•˜๊ณ  GM3๋Š”

  1. Greasemonkey๋ฅผ ์™„์ „ํžˆ ์ œ๊ฑฐ
  2. Firefox ๋‹ค์‹œ ์‹œ์ž‘
  3. Greasemonkey 3.14 ์„ค์น˜(์žฌ์‹œ์ž‘ ํฌํ•จ)
  4. ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ์œ„ํ•ด Firefox๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค.
  5. Greasemonkey 4 ์„ค์น˜(์ ์ˆ˜)

๊ทธ๊ฒŒ ๋„์›€์ด ๋˜๋‚˜์š”?

์ตœ์ƒ์œ„ ์ˆ˜์ค€ await - ์ฆ‰, ๋ชจ๋“  ๊ฒƒ์„ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋กœ ๋ž˜ํ•‘ํ•˜๋Š” ๊ฒƒ์€ ๋ฏธ๋ž˜ ๊ตฌํ˜„์„ ์ œํ•œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ข‹์€ ๋””์ž์ธ ์„ ํƒ์ด ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋‹ค์‹œ ์–ป๊ฑฐ๋‚˜ es-future ์˜์—ญ์„ ์–ป๋Š” ๊ฒฝ์šฐ). ์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋Œ€๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ  ์Šคํฌ๋ฆฝํŠธ๊ฐ€... ์Œ... ์ตœ์ƒ์œ„ ์ˆ˜์ค€์—์„œ ์‹คํ–‰๋˜๋Š” ๋ฐ”๋‹๋ผ JS ์‹คํ–‰๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@arantius
์•„์ง ์•„๋ฌด๊ฒƒ๋„ ์—†์Šต๋‹ˆ๋‹ค :(
BTW๋Š” 4.0์ž…๋‹ˆ๋‹ค. https://i.imgur.com/CPuWWKM.png
์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๋ฒ„ํŠผ์ด๋‚˜ ์•„๋ฌด๊ฒƒ๋„ ์—†์Šต๋‹ˆ๋‹ค.

... ๋ชจ๋“  ๊ฒƒ์„ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋กœ ๋ž˜ํ•‘ ...

์ด์ œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ”์œ„ ๋ชฉ์ ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๋ž˜ํ•‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋น„๋™๊ธฐ๋กœ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋‹น์‹ ์˜ ์ถ”๋ก ์„ ๊ตฌ์ž…ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. (์ ์–ด๋„ ์Šคํฌ๋ฆฝํŠธ ์ž์ฒด์— ๋น„๋™๊ธฐ ๋ž˜ํผ ํ•จ์ˆ˜๋ฅผ โ€‹โ€‹์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.)

์˜ˆ, ํ˜„์žฌ ์˜๋„์ ์œผ๋กœ javascript ์—์„œ ์Šคํฌ๋ฆฝํŠธ ์—์„œ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์€ ํ–ฅํ›„ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์œ„ํ—˜์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ž˜ํผ๊ฐ€ ํ˜„์žฌ ํ”ผํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ๋‚˜์ค‘์—๋Š” ์ตœ์ƒ์œ„ ์ˆ˜์ค€์œผ๋กœ ๋‹ค์‹œ ์ด๋™ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@arantius ์™œ ๋ฐ˜๋Œ€ ํˆฌํ‘œ๋ฅผ ํ•ฉ๋‹ˆ๊นŒ?

@arantius ๊ฐ€ 2017๋…„์— ๋Œ“๊ธ€์„ 28. 14:57 CEST :

... ๋ชจ๋“  ๊ฒƒ์„ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋กœ ๋ž˜ํ•‘ ...

์ด์ œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ”์œ„ ๋ชฉ์ ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๋ž˜ํ•‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋น„๋™๊ธฐ๋กœ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋‹น์‹ ์˜ ์ถ”๋ก ์„ ๊ตฌ์ž…ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. (์ ์–ด๋„ ์Šคํฌ๋ฆฝํŠธ ์ž์ฒด์— ๋น„๋™๊ธฐ ๋ž˜ํผ ํ•จ์ˆ˜๋ฅผ โ€‹โ€‹์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.)

[mozilla ํ”„๋กœํ•„]\storage\default\์˜ ๋‚ด์šฉ์„ ์‚ญ์ œํ•ด ๋ณด์„ธ์š”. (๋ฐฑ์—… ํ›„)
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์‹œ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค.

UserScript ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋งํ•˜์ž๋ฉด, ์ €๋Š” ์„ธ ๊ฐœ์˜ UserScript ํด๋ž˜์Šค๋ฅผ ๊ฐ–๋Š” ๋””์ž์ธ ๊ฒฐ์ •์„ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ทธ๋“ค์€ ์•ฝ๊ฐ„ ์–ด๋ฆฌ์„์€ ๋‹จ์ผ ์ƒ์† ํŠธ๋ฆฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ RemoteUserScript๋Š” ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉ ๋˜๋ฉฐ id ๋ฅผ

๋‹จ์ง€ ์ •๋ณด๋ฅผ ์œ„ํ•ด ...

์ €๋Š” FF57.0a1์„ ์‚ฌ์šฉ ์ค‘์ด๊ณ  ๋ ˆ๊ฑฐ์‹œ ์• ๋“œ์˜จ๊ณผ GM 3.13์„ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.
์•ˆํƒ€๊น๊ฒŒ๋„ ์ตœ๋Œ€ ๋ฒ„์ „์ด 56์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—…๋ฐ์ดํŠธ(3.14, 3.15)๋ฅผ ๋ฐ›์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.*

์ˆ˜๋™์„ค์น˜๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ..

GM 3.16์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์‹œ์ž‘ํ•  ๋•Œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค(DB๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰