我正在寻找一种使用Javascript / JQuery跟踪来自网页的所有出站点击的方法,而无需修改任何现有的页面代码。解决方案必须适用于框架,iframe,来自不同域的内容,AJAX等。
也许,Javascript是通用解决方案的错误技术。如果是这样,请告诉我什么会更好。
答案 0 :(得分:3)
很容易捕获外部链接上的所有点击。
$(document).ready(function() {
$("a[@href^=http]").each(function(){
if(this.href.indexOf(location.hostname) == -1) {
// Handle click here
}
});
});
让这个为iframe工作有点棘手。由于Same origin policy,iframe应该位于同一个域中。如果是这样,您应该能够将上面的css选择器更改为$("#iframe_id").contents().find("[@href^=http]")
答案 1 :(得分:0)
有一个简单的解决方案:
get all a elements
check href to see if it begins with http or https
if so and the domain is external to your site, add a click handler