그리스몽키로 특정 페이지에서 onkeypress 이벤트를 변경하려고 합니다.
그리스몽키로 특정 페이지에서 onkeypress 이벤트를 변경하려고 합니다.
현재 onkeypress에 aaaa 라는 함수가 적용되어 있습니다.
------------------------------------------------------------
function aaaa(e) {
}
document.onkeypress = aaaa;
------------------------------------------------------------
aaaa라는 함수가 문제가 있어 제가 원하는 함수로 변경하려고 하는데요.
------------------------------------------------------------
// ==UserScript==
// @name bumworld 단축키
// @name_en bumworld
// @namespace http://www.bumworld.pe.kr/
// @description bumworld 단축키
// @include http://www.bumworld.pe.kr/zboard/zboard.php*
// ==/UserScript==
document.addEventListener('onkeypress', function(e) {
var isIE = !!(window.attachEvent && !window.opera);
alert(isIE);
}, true);
------------------------------------------------------------
이런식으로 스크립트를 작성해서 등록했습니다.
그런데 등록후에도 계속해서 기존 aaaa 함수가 호출이 됩니다.
스크립트를 잘못작성한걸까요?
document.onkeypress =
document.onkeypress = aaaa;
이렇게 되어 있으니
document.onkeypress = null;
일단 이렇게 해야 하지 않을까요?
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
Component is not available 오류가 발생합니다.
document.onkeypress = null;
이렇게 하거나
document.onkeypress = '';
이렇게 하면 Component is not available 오류가 발생합니다.
음...그냥 alert('test'); 이렇게 하면 호출 잘되는걸 봐서는
스크립트 자체는 적용이 되는게 맞구요...
다른 방법이 없을까요?
그리스몽키에서 스크립트안에 선언된 변수를 call할수 있을까요?
<script LANGUAGE="javascript">
var key = new Array();
key['0'] = "aaaa";
-->
</script>
페이지에 이렇게 선언되어 있습니다.
그런데 그리스몽키 스크립트에서 alert(key['0']); 하면
key is not defined 이라고 나옵니다.
아무래도 key변수에 접근을 못하는거 같은데 원래 접근 못하는게 맞나요?
해보니까 안되는군요
해보니까 안되는군요 = _=)...
그래도 workaround로
를 사용할 수 있습니다.
document. = 이 방법이
이 방법이 원래 그리 좋은 방법은 아닙니다 = _=);;
이벤트 리스너로 등록된걸 해제시켜야되는데,
위와같은 방법으로 할당된걸 해제시킨거는 한번도 못봤습니다 - _-);;
일단은
이건 어떨까요.
아..도저히 방법이 없나보네요...
document.removeEventListener('onkeypress', funName, false);
이방법으로 해제를 할려고해도 함수에 접근이 안되 사용이 안되네요..
이벤트에 함수를 덮어쓸려고해도 안되구요..ㅠ.ㅠ
다른 좋은 방법이 없을래나 모르겠네요..
혹시 wrappedJSObject
혹시 wrappedJSObject 문제 아닐까요?
document.wrappedJSObject.onkeypress = null;
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
보안 문제입니다.
그리스몽키에서는 보안상 원래 객체에 바로 접근하지 못하게 막아둡니다.
꼭 필요한 경우에만 unsafeWindow 를 사용하면 원래 함수를 수정 가능합니다.
http://wiki.greasespot.net/UnsafeWindow 참조하세요.
답변 감사합니다..
우선은 wrappedJSObject로 해결 했습니다.
역시나 보안문제였군요..흠..
document.wrappedJSObject.onkeypress = null;
document.wrappedJSObject.onkeypress = function(e) {
};
이런식으로 했는데 우선 동작은 잘 되네요..
답변 감사드립니다.
댓글 달기