从链接调用tampermonkey函数

时间:2013-03-27 22:30:42

标签: javascript function hyperlink call 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()。事实并非如此。而是出现以下错误消息:

  

未捕获的ReferenceError:未定义runTest

1 个答案:

答案 0 :(得分:5)

不要那样设置javascript处理程序。使用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!');
};