如何从链接调用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()。不是。而是出现以下错误信息:

最佳答案

不要以这种方式设置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!');
};

10-05 21:57