得到href onclick

时间:2011-09-28 10:35:58

标签: javascript

我正在开发Mozilla Firefox的扩展程序。主要功能是获取用户正在访问的URL并在以后处理它。我尝试了以下Javascript代码:

window.onload = function(){
  alert(document.referrer);
}

这没有用,所以我尝试使用以下方法向每个链接注入onclick事件:

window.onload = function(){ 
    var links = document.links;
    for(var i=0;i<links.length;++i){  
        links[i].onclick = show_href();
    }
}

function show_href(){
    alert(this.href);    
}

但这也不起作用。还有其他方法吗?

3 个答案:

答案 0 :(得分:0)

在第二种方法中,问题可能是for loop

window.onload = function(){
   var links = document.links,
       max,
       i;

   for(var i=0, max = links.length; i < max; i += 1) {
      (function() {
         var link = links[i];

         link.onclick = function() {
            alert(this.href);
         }
      })();
   }
};

答案 1 :(得分:0)

var anchors = document.getElementsByTagName('a');
for(var i=0,l=anchors.length;i<l;i++)
    if(anchors[i].hasAttribute('href'))
        anchors[i].onclick = function(){
            alert(anchors[i].getAttribute('href'));
        }

答案 2 :(得分:0)

试试这个:

<a href="#xxx">linktextx</a>
<a href="#yyy">linktexty</a>
<a href="#zzz">linktextz</a>
<script>
    window.onload = function() {
    var links = document.links;
    for(var i=0;i<links.length;i++){
        links[i].onclick = function(){alert(this.href)};
      }
    }
</script>

请参阅:http://jsfiddle.net/uXmWj/了解工作演示