Javascript:setAttribute(“onmouseover”、“function…”)不执行任何操作

Javascript:setAttribute(“onmouseover”、“function…”)不执行任何操作,javascript,greasemonkey,Javascript,Greasemonkey,我试图为firefox的greasemonkey插件编写一个用户脚本,它应该会改变某些站点上链接的行为。如果脚本正在运行,用户应该能够通过在链接上移动鼠标指针来打开链接。如果新窗口打开,则应关闭以前打开的另一个窗口。 这是行不通的,我一点也不知道为什么 var numberOfAnchors = document.getElementsByTagName("a").length; var window1; for(var i=0; i<numberOfAnchors; i++){

我试图为firefox的greasemonkey插件编写一个用户脚本,它应该会改变某些站点上链接的行为。如果脚本正在运行,用户应该能够通过在链接上移动鼠标指针来打开链接。如果新窗口打开,则应关闭以前打开的另一个窗口。 这是行不通的,我一点也不知道为什么

var numberOfAnchors = document.getElementsByTagName("a").length;
var window1;

for(var i=0; i<numberOfAnchors; i++){
    document.getElementsByTagName("a")[i]
        .setAttribute("onmouseover","followLink(this)");
}

function followLink(x){
    closeOldWindow();
    window1 = window.open(document.documentURI + x.getAttribute("href"));
}

function closeOldWindow(){
    window1.close();
}
var numberOfAnchors=document.getElementsByTagName(“a”).length;
var窗口1;

对于(var i=0;i您在打开窗口之前试图关闭
window1
,请在

function closeOldWindow(){
  if (window1)
    window1.close();
}

这并没有改变任何事情。我编写了一个html页面来测试脚本,它一开始工作,但只在该页面上工作。然后我安装了greasemonkey并将其复制到用户脚本中,然后甚至没有在我的页面上工作。(即使在Firefox JavaScript环境下也不行)