越来越HREF的onclick
我开发的Mozilla Firefox的扩展。主要功能是获取用户访问的URL并在稍后处理。我想下面的JavaScript代码:越来越HREF的onclick
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);
}
但也行不通。任何其他方法?
试试这个:
<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/的工作演示
thanx它的工作原理...奇迹y相同的代码没有工作b4 ??? –
这不是完全相同的代码。这为每个链接分配一个匿名函数,而不是一个命名函数。 – graphicdivine
在第二种方法中,问题可能是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);
}
})();
}
};
为什么封闭帮助?任何时候他都不会“丢失”“我”的价值。 – Zirak
是的。你是对的。我的回答太快了......对不起。 – user278064
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'));
}
但是,这个问题是不是所有的链接都是可以有图像的链接,井 不过我也会试试这个 –
你在哪个上下文中执行那个脚本? 'window'是内容窗口还是浏览器窗口?您可以通过执行alert(window.location.href)来检查。 –