4

如何从链接中调用 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

4

1 回答 1

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!');
};
于 2013-03-27T23:36:56.877 回答