greasemonkey에서 document.onkeypress 를 동작시키고 싶을때,

Firefox Addon 중의 하나인 GreaseMonkey의 Javascript 중에서 document.onkeypress를 이용하여 user.js를 만들었는데, 잘 동작하지 않았습니다. 잠깐 googling을 하니, 대체적으로 하나 찾을 수 있었는데요, 여기서는 그것을 요약합니다.

다음 javascript는 Greasemonkey를 이용하여 어떤 웹에 들어갔을때, 사용자 키보드에서 키값이 눌려진 것을 보여주는 javascript 입니다.

(function() {
 document.addEventListener("keypress", function(e) {
 alert("you pressed key '" + e.which + "'");
 }, true)
})();

쉽네요? 🙂

이왕이면,  GreaseMonkey의 Tutorial도 한번 읽어 보시기를 추천해드립니다. GreaseMonkey에 대해서 더 깊게 알 수 있습니다.

(Update: 10/26/2009)

위의 script를 실행하면, Event를 adding 하는 것이기 때문에 만일 어떤 Web Page에서 document.onkeypress를 사용하고 있다면, 저 Script 이후에 그 Web Page에서 쓰이고 있는 Script도 같이 실행 됩니다. 만일, override 하기를 원한다면, 다음을 이용하십시오. 단, unsafe는 추천하고 싶은 script는 아닙니다. 자세한 것은 Avoid Common Pitfalls in Greasemonkey를 읽어 보십시오.


unsafeWindow.document.onkeypress = function (e) {

alert("you pressed key '" + e.which + "'");

}

Avoid Common Pitfalls in Greasemonkey

Leave a Reply

Your email address will not be published. Required fields are marked *