我正在开发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);
}
但这也不起作用。还有其他方法吗?
答案 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/了解工作演示