怎样自动点击<a>标签里js动态写入的链接?

鹏鹏鸟 发布于 2013/08/28 21:02
阅读 2K+
收藏 0

我想做一个跳转页面,跳转地址自己不能控制,是由第三方js在鼠标左键按下时动态写入到<a>标签的href属性里的,手工点击没问题。现在我想通过js自动去点击这个动态写入的地址,我用getElementById("link1").click()无法实现,不停的跳出弹窗,请问具体应该怎么实现自动点击在新窗口打开的效果?js新手,请大家多多指教。

源码在这里:http://www.51uutao.com/tdj/test.html

加载中
0
pantrick
pantrick

1用jquery trigger事件

2 获取href属性,然后 window.open(url);

鹏鹏鸟
鹏鹏鸟
请问trigger什么事件?是onmousedown还是click?
0
pantrick
pantrick

哦,对了,triger没用,你只能获取href属性,然后window.open

鹏鹏鸟
鹏鹏鸟
用delegate行吗?好像delegate可以获取到动态写入的内容
0
JonyZhang
JonyZhang
非人工触发的点击,都会被浏览器当弹窗拦截,这一点不可破!
0
鹏鹏鸟
鹏鹏鸟

引用来自“JonyZhang”的答案

非人工触发的点击,都会被浏览器当弹窗拦截,这一点不可破!
那是在新窗口中打开链接 target=_blank才会被拦截,直接打开是不会被拦截的
0
JonyZhang
JonyZhang

引用来自“鹏鹏鸟”的答案

引用来自“JonyZhang”的答案

非人工触发的点击,都会被浏览器当弹窗拦截,这一点不可破!
那是在新窗口中打开链接 target=_blank才会被拦截,直接打开是不会被拦截的
若是直接打开的话,为什么不用window.location.href = 网址; ? 
鹏鹏鸟
鹏鹏鸟
我的网址是第三方js根据<a>标签里的 data-itemid属性值动态写入的,怎么才能获取到这个网址?源码在这里:http://www.51uutao.com/tdj/test.html
0
鹏鹏鸟
鹏鹏鸟
我的网址是第三方js根据<a>标签里的 data-itemid属性值动态写入的,怎么才能获取到这个网址?源码在这里:http://www.51uutao.com/tdj/test.html
0
JonyZhang
JonyZhang

引用来自“鹏鹏鸟”的答案

我的网址是第三方js根据<a>标签里的 data-itemid属性值动态写入的,怎么才能获取到这个网址?源码在这里:http://www.51uutao.com/tdj/test.html

//原生方式
window.location.href = document.getElementById('link1').href;

//jQuery方式
window.location.href = $('#link1').attr('href');

你这里取不到href是因为href没有设置进去,也就是个空值,也就是当前页面地址

鹏鹏鸟
鹏鹏鸟
当然没有设置了,是在鼠标左键按下时动态设置的,怎么才能获取到这个值?
0
mingkaidox
mingkaidox
突然发现,你这个是要骗广告点击率么?
鹏鹏鸟
鹏鹏鸟
你要这么想我也没办法
0
JonyZhang
JonyZhang
$('#link1').click(function(e){
    e.preventDefault();
    window.open(this.href); //新窗口打开
    //location.href=this.href; //当前窗口打开
});

以上测试通过,只是思路,自己灵活变通,比如可以采用事件冒泡

还有一点要注意,如果浏览器装了adblock插件,http://a.alimama.cn/tkapi.js这个地址就会被拦截,你的想法也就实现不了

鹏鹏鸟
鹏鹏鸟
嗯 我正在试,href地址,在单击链接后可以获得,但只要一用点击事件,就不停的弹出,浏览器会卡死
返回顶部
顶部