Greasemonkey: GM_notification API ์ถ”๊ฐ€

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

์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์ž๋กœ์„œ ๋งŽ์€ ์ƒํ™ฉ์—์„œ ํ™•์ธ ์ฐฝ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ  ๋Œ€์‹  ํด๋ฆญ ๊ฐ€๋Šฅํ•œ ์•Œ๋ฆผ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

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

์ฐธ๊ณ ๋กœ...
ํ•ด๊ฒฐ ์ˆ˜์ •
https://bugzilla.mozilla.org/show_bug.cgi?id=862395

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

#1193์˜ ํŒจ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๊ฒƒ์€ ์ผ€์ดํฌ ์กฐ๊ฐ์ž…๋‹ˆ๋‹ค. ํด๋ฆญ ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„์€ ์•ฝ๊ฐ„์˜ ์ถ”๊ฐ€ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ : #1096์˜ @icon ์„ ์•Œ๋ฆผ ์•„์ด์ฝ˜์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋•Œ๋•Œ๋กœ ๊ถŒํ•œ์ด ์—†๋Š” DOM ์™ธ๋ถ€์— ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์ง€๋งŒ ์–ด๋–ค ์ข…๋ฅ˜์˜ ์•Œ๋ฆผ์ด ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ํ•ฉ์˜์ž…๋‹ˆ๋‹ค.

"์•Œ๋ฆผ ๋ณด๋‚ด๊ธฐ"๋ผ๋Š” ๋ฌธ๊ตฌ๋Š” ๋งค์šฐ ๋ชจํ˜ธํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด "

๋‚ด ์ง๊ฐ ๋ฐ˜์‘์€ ์ด๊ฒƒ์ด _that_ ํŽ˜์ด์ง€์˜ DOM์— ๋„ฃ๋Š” @require์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฉ”์‹œ์ง€๊ฐ€ ์˜ค๋Š” ํŽ˜์ด์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ์š”(ํŠนํžˆ ์—ฌ๋Ÿฌ ์ ์ ˆํ•œ ํƒญ์ด ์—ด๋ ค ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ) ?

์ด๊ฒƒ์ด "nsIAlertsService์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต"์„ ์˜๋ฏธํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ์ด๊ฒƒ์€ #1193์—์„œ ๊ตฌํ˜„ํ•œ ๊ฒƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ํ•˜๊ณ  ์žˆ๋Š” ์ผ์„ ๋ฉˆ์ถ”๊ณ  ์ƒ์ž๋ฅผ ์ฝ๊ณ  ๋‚ด์šฉ์„ ํŒŒ์•…ํ•˜๊ธฐ ์ „์— ํ† ์ŠคํŠธ๊ฐ€ ๊ฑฐ์˜ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

๊ธ€์Ž„์š”, ์ €๋Š” ๊ทธ๊ฒƒ๋“ค์„ ์‚ฌ๋ž‘ํ•˜๊ณ , ๊ทธ๊ฒƒ์ด ์ž์‹ ์˜ ์Šคํฌ๋ฆฝํŠธ์— ์œ ์šฉํ•œ์ง€ ์•„๋‹Œ์ง€๋Š” ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์ž๊ฐ€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ธฐ๊ฐ„์€ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅํ•œ ์„ค์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ w/osx๋Š” ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

๋‚ด ์ง๊ฐ ๋ฐ˜์‘์€ ์ด๊ฒƒ์ด ํ•ด๋‹น ํŽ˜์ด์ง€์˜ DOM์— ๋„ฃ๋Š” @require์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”..?

์‚ฌ์šฉ์ž๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ์–ด๋Š ํŽ˜์ด์ง€์—์„œ ์˜ค๋Š”์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(ํŠนํžˆ ์—ฌ๋Ÿฌ ์ ์ ˆํ•œ ํƒญ์ด ์—ด๋ ค ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ)?

์ œ๋ชฉ์€ ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ์˜ ์ด๋ฆ„์ผ ์ˆ˜ ์žˆ๊ณ  ์•„์ด์ฝ˜์€ @icon์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

alerts.totalOpenTime ์€ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ์„ค์ •์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์€ 4์ดˆ์ด๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ 30์ดˆ๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

๋งž์ถคํ˜• ์ด๋ฏธ์ง€ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๊ธฐ๋Šฅ GM_notification(aMsg, aTitle, aImg) {
 var ์ œ๋ชฉ = ์ œ๋ชฉ ? "" + aTitle : "๊ทธ๋ฆฌ์Šค๋ชฝํ‚ค";
 var ๋ฉ”์‹œ์ง€ = ๋ฉ”์‹œ์ง€ ? "" + ๋ฉ”์‹œ์ง€: "";
 var ์ด๋ฏธ์ง€ = aImg ? "" + aImg : "chrome://greasemonkey/skin/icon_medium.png";
 ๋…ธ๋ ฅํ•˜๋‹ค {
 alertsServ.showAlertNotification(
 ์˜์ƒ,
 ์ œ๋ชฉ, ๋ฉ”์‹œ์ง€, ๊ฑฐ์ง“, "", null);
 // ์ด๊ฒƒ์€ ์œˆ๋„์šฐ๋ณด๋‹ค ์šฐ๋ถ„ํˆฌ์—์„œ ๋” ์ž˜ ๋ณด์ž…๋‹ˆ๋‹ค ( http://i55.tinypic.com/2jfwtg9.png )
 } ์žก๊ธฐ (e) {
 // ์˜ˆ๋ฅผ ๋“ค์–ด Growl์ด Mac์— ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ.
 ๊ฒฝ๊ณ (์ œ๋ชฉ + "\n" + ๋ฉ”์‹œ์ง€);
 }
 };

์†์ž„์ˆ˜ #1271

์ด๊ฒƒ์— ๋Œ€ํ•œ ํˆฌํ‘œ wontfix

์ด๊ฒƒ์— ๋Œ€ํ•œ ํˆฌํ‘œ wontfix

์™œ์š”?

๋ž€ํ‹ฐ์šฐ์Šค ๋Š” ๋‹ค์Œ ๊ณผ ๊ฐ™์ด ์ผ๋‹ค .
์š”์ ์€ ๊ทธ๊ฒƒ์ด ๋Œ€์ฒดํ•˜๋Š” ๊ธฐ๋Šฅ์ด Firefox 4์—์„œ ์‚ฌ๋ผ์ง€๋Š” ์ƒํƒœ ํ‘œ์‹œ์ค„์— ์˜์กดํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ๊ทธ ์ด์ƒ์ž…๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ DOM์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๊ณ  ๊ฒฐ๊ตญ์—๋Š” htm/l ๋Œ€์‹  ์ด๋ฏธ์ง€์— ๋„๋‹ฌํ•˜๊ณ  ํŠน์ • ์„ธ๋ถ€ ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ–ˆ์Œ์„ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ณ„์† ์•Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๋ชจ๋‘ ์•Œ๊ณ  ์žˆ๋“ฏ์ด user.js๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์•„๋‹Œ .htm/l ํŒŒ์ผ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

API ๊ธฐ๋Šฅ์„ sandbox ์— ๋…ธ์ถœํ•˜๋ ค๋ฉด +1 ์— ํˆฌํ‘œํ•˜์„ธ์š”. ์ถ”๊ฐ€ ํ˜œํƒ์ด ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํŽธ์ง‘: GM-Script-Writer-62850 ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด @icon ์˜ ๊ฐ’์„ ์ด์™€ ํ•จ๊ป˜ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Firefox 22์—๋Š” ์›น ์•Œ๋ฆผ ์ง€์›์ด ์žˆ์Šต๋‹ˆ๋‹ค: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/22

+1

Firefox 22์—๋Š” ์›น ์•Œ๋ฆผ ์ง€์›์ด ์žˆ์Šต๋‹ˆ๋‹ค: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/22

ํ•˜์ง€๋งŒ ํฐ ์‹ค์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค(https://bugzilla.mozilla.org/show_bug.cgi?id=875114, ๊ฐ๊ฐ https://bugzilla.mozilla.org/show_bug.cgi?id=862395). ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/greasemonkey/greasemonkey/issues/1742

์ผ๋ถ€ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ๋Š” ์›น ์•Œ๋ฆผ์„ ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ์•Œ๋ฆผ์€ ํƒญ ์•Œ๋ฆฌ๋ฏธ ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์• ๋“œ์˜จ์„ ์‚ฌ์šฉํ•˜์—ฌ Firefox์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ๋Š” ํƒญ ์•Œ๋ฆผ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์• ๋“œ์˜จ์„ ์‚ฌ์šฉํ•˜์—ฌ Firefox์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์•Œ๋ฆผ์„ ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์›น ์•Œ๋ฆผ API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ์—์„œ ํ—ˆ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์•Œ๋ฆผ์„ ํŒ์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์›น์‚ฌ์ดํŠธ์—์„œ ์•Œ๋ฆผ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์—†์ง€๋งŒ ์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งž์•„, ๋‚˜๋Š” ๊ทธ ๋ถ€๋ถ„์„ ์™„์ „ํžˆ ๋†“์ณค๋‹ค. :+1:
ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋น„๋ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ด๋ฅผ ํฌํ•จํ•˜๋Š” ์•Œ๋ฆผ๋งŒ ํ‘œ์‹œํ•˜๋„๋ก ํƒญ ์•Œ๋ฆฌ๋ฏธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ์˜ ์•…์˜์— ๋”ฐ๋ผ ํ•˜๋‚˜์˜ ์ด์ƒํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋กœ ์ถฉ๋ถ„ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ž์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ์ด API๋Š” ์›น ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ฐจ๋‹จํ•˜๋ ค๋Š” ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•Œ๋ฆผ๋„ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉ์ž๋Š” ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์•Œ๋ฆผ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋ชจ๋‘ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ์˜ ์•Œ๋ฆผ๋งŒ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด API๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๋ถ„๊ธฐ:
https://github.com/janekptacijarabaci/greasemonkey/tree/_testBranch_GM_notification

Tampermonkey์™€ API ๋™๊ธฐํ™”
https://tampermonkey.net/documentation.php#GM_notification ๋„

์ด๊ฒƒ์€ ๋‹จ์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

" PopupNotifications "(!= "Web (HTML5) ์•Œ๋ฆผ API") ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค!
(๋‚˜๋Š” ์ด ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค - ์ง€๊ธˆ์€ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋‹ค๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค: bug 862395 )

@janekptacijarabaci ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๋งŒ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค...

  1. PopupNotifications.jsm์€ ๋ฐ”ํƒ• ํ™”๋ฉด ์•Œ๋ฆผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์ด ์ตœ์†Œํ™”๋˜๋ฉด ์•Œ๋ฆผ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (์˜ˆ, ์ด๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ›จ์”ฌ ๋” ์“ธ๋ชจ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค)
  2. onclick ๋ฐ ondone์€ ์„ ํƒ ์‚ฌํ•ญ์ด์–ด์•ผ ํ•˜์ง€๋งŒ ํ˜„์žฌ ์ด ๊ฐ’์ด ์—†์œผ๋ฉด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

(๋ฒ„๊ทธ 862395๊ฐ€ ์–ธ์ œ ๊ณ ์ณ์งˆ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์“ธ๋งŒํ•œ๊ฒŒ ์žˆ๋Š”๊ฒŒ ๋‚ซ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.)

ํ…Œ์ŠคํŠธ ๋ถ„๊ธฐ ์—…๋ฐ์ดํŠธ๋จ:
ํŒ์—… ์•Œ๋ฆผ => ๋ฐ”ํƒ• ํ™”๋ฉด ์•Œ๋ฆผ

@janekptacijarabaci
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

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

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

@tiansh

๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋Š๋ƒ...

Chrome(Tampermonkey)์˜ ๋ฐ”ํƒ• ํ™”๋ฉด ์•Œ๋ฆผ์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
https://developer.chrome.com/extensions/desktop_notifications

์‹œ์Šคํ…œ ์ฃผ์ฒด(chrome ๊ถŒํ•œ)์—๊ฒŒ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ...
๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ์‚ฌ์šฉ(ํŠนํžˆ e10์ด ์ผœ์ง„ ์ƒํƒœ์—์„œ) - ๋ชจ๋“  ์ด๋ฒคํŠธ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค(onclick, ondone).
์ด ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/greasemonkey/greasemonkey/blob/3.9/modules/sandbox.js#L75
(https://github.com/greasemonkey/greasemonkey/blob/3.9/modules/menucommand.js#L90)
ํ•˜์ง€๋งŒ ์ปค๋ฎค๋‹ˆํ‹ฐ/๋ž€ํ‹ฐ์šฐ์Šค์— ๋งก๊น๋‹ˆ๋‹ค(๊ฐ€์žฅ ์ž˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค).
(๋ˆ„๊ตฐ๊ฐ€ ์ด๊ฒƒ์„ ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค: #2275 - http://arewewebextensionsyet.com/#notifications)

์ง€๊ธˆ์€ ๋” ์ข‹์€ ์ƒ๊ฐ์ด ์—†์–ด์š”...

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์•ฝ๊ฐ„์˜ ์‹œ๋„๋ฅผํ–ˆ์Šต๋‹ˆ๋‹ค ...

์ˆ˜์ •๋จ:
ํ•˜์ง€๋งŒ... GM_notification()์„ ์—ฐ์†์œผ๋กœ ๋‘ ๋ฒˆ(์ด์ƒ) ์‹คํ–‰ํ•ด๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฒ„๊ทธ 1263155 ( 1294332 , 1306822 )๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ฐธ๊ณ ๋กœ...
ํ•ด๊ฒฐ ์ˆ˜์ •
https://bugzilla.mozilla.org/show_bug.cgi?id=862395

๊ทธ๋ž˜์„œ... ๊ตฌํ˜„์ด ๋˜์—ˆ๋‚˜์š” ์•ˆ ๊ตฌํ˜„๋˜์—ˆ๋‚˜์š”?

@VBelozyorov , 3.x์šฉ์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 4.x์˜ ๊ฒฝ์šฐ #2590

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