0

我正在寻找一种在不修改任何现有页面代码的情况下使用 Javascript/JQuery 跟踪网页的所有出站点击的方法。该解决方案必须适用于框架、iframe、来自不同域的内容、AJAX 等。

也许,对于通用解决方案而言,Javascript 是错误的技术。如果是这样,请让我知道什么会更好。

4

2 回答 2

3

捕获对外部链接的所有点击很容易。

$(document).ready(function() {
    $("a[@href^=http]").each(function(){
        if(this.href.indexOf(location.hostname) == -1) {
            // Handle click here
        }
    });
});

让它适用于 iframe 有点棘手。由于同源策略,iframe 应该来自同一个域。如果是这样,您应该能够将上面的 css 选择器更改为类似$("#iframe_id").contents().find("[@href^=http]")

于 2011-02-23T22:12:06.270 回答
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
于 2011-02-23T22:09:40.790 回答