2013-03-27 3 views
3

링크에서 tampermonkey 함수를 호출하려면 어떻게해야합니까?링크에서 tampermonkey 함수 호출

다음은 내가 시도한 것입니다. 다음과 같이 tampermonkey를 사용하여, 나는이 링크를 삽입 할 수있는 링크가 호출 될 때

var aNode = document.createElement('a'); 
var aText = document.createTextNode('will it run'); 
aNode.appendChild(aText); 
aNode.href = 'javascript:runTest();'; 
document.body.insertBefore(aNode, document.body.firstChild); 

function runTest() { 
    alert('it ran!'); 
}; 

이, 기능, runTest()가,

를 호출해야합니다. 그렇지 않습니다. 대신 다음과 같은 오류 메시지가 나타납니다.

Uncaught ReferenceError: runTest is not defined

답변

5

그런 식으로 자바 스크립트 처리기를 설정하지 마십시오. 다음과 같이 addEventListener()을 사용하십시오.

var aNode = document.createElement ('a'); 
var aText = document.createTextNode ('will it run'); 
aNode.href = '#'; 
aNode.appendChild (aText); 
document.body.insertBefore (aNode, document.body.firstChild); 

aNode.addEventListener ("click", runTest, false); 

function runTest (zEvent) { 
    zEvent.preventDefault(); 
    zEvent.stopPropagation(); 

    alert('it ran!'); 
}; 
+0

고맙습니다! 그것이 깨끗하고 깔끔한 코드를 제외하고 내가 찾고있는 것입니다. – user1621123

+0

당신을 환영합니다; 기꺼이 도와주세요. –