์ฌ์ฉ์ ์คํฌ๋ฆฝํธ ์์ฑ์๋ก์ ๋ง์ ์ํฉ์์ ํ์ธ ์ฐฝ์ ๋ํ ๊ฒฝ๊ณ ๋์ ํด๋ฆญ ๊ฐ๋ฅํ ์๋ฆผ์ ์ฌ์ฉ์์๊ฒ ๋ณด๋ผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
#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 ๊ฐ์ฌํฉ๋๋ค๋ง ๋ฒ๊ทธ๊ฐ ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค...
(๋ฒ๊ทธ 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
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฐธ๊ณ ๋ก...
ํด๊ฒฐ ์์
https://bugzilla.mozilla.org/show_bug.cgi?id=862395