Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript链接跟踪脚本+;游猎_Javascript_Jquery_Safari_Hyperlink - Fatal编程技术网

Javascript链接跟踪脚本+;游猎

Javascript链接跟踪脚本+;游猎,javascript,jquery,safari,hyperlink,Javascript,Jquery,Safari,Hyperlink,我正在尝试制作一个链接跟踪脚本。它应该像谷歌分析一样工作,只是应该在我们自己的服务器上发表文章。我使用jQuery来实现这个。到目前为止,我编写的代码如下: jQuery(document).ready(function() { var opts; jQuery.fn.trackAllLinks = function(settings) { settings = jQuery.extend({}, jQuery.fn.trackAllLinks.defaults, settings)

我正在尝试制作一个链接跟踪脚本。它应该像谷歌分析一样工作,只是应该在我们自己的服务器上发表文章。我使用jQuery来实现这个。到目前为止,我编写的代码如下:

jQuery(document).ready(function() {

var opts;

jQuery.fn.trackAllLinks = function(settings) {
    settings = jQuery.extend({}, jQuery.fn.trackAllLinks.defaults, settings);
    opts = settings;

    function track() {
        href = jQuery(this).attr('href');
        var trackImage = new Image(1, 1);
        trackImage.src = opts.linkredirector + '?eurl=' + jQuery.URLEncode(href) + '&rnd=' + new Date().getTime() + '&title=trackerimage.gif';
        trackImage.onload = function() { 
            trackImage.onload = null; 
            doNothing(); 
        }
        delay(300);
        return true;
    };

    function delay(mseconds) {
        var currentTime = new Date();
        var endTime = currentTime.getTime() + mseconds;
        while (currentTime.getTime() < endTime) {
            currentTime = new Date();
        }
    }

    function doNothing() { 
    }

    if(jQuery(this).is("a")) {
        jQuery(this).click(track);
    }

    jQuery(this).find("a").click(track);

};

jQuery.fn.trackAllLinks.defaults = {
    linkredirector : '__url_to_post_on__'
};

});
jQuery(文档).ready(函数(){
var选择;
jQuery.fn.trackAllLinks=函数(设置){
settings=jQuery.extend({},jQuery.fn.trackAllLinks.defaults,settings);
opts=设置;
函数跟踪(){
href=jQuery(this.attr('href');
var trackImage=新图像(1,1);
trackImage.src=opts.linkredirector+'?eurl='+jQuery.URLEncode(href)+'&rnd='+new Date().getTime()+'&title=trackerimage.gif';
trackImage.onload=函数(){
trackImage.onload=null;
doNothing();
}
延迟(300);
返回true;
};
功能延迟(毫秒){
var currentTime=新日期();
var endTime=currentTime.getTime()+ms秒;
while(currentTime.getTime()
除了Safari,它在所有浏览器中都可以正常工作。当我使用mailto链接或锚定时,它可以工作,但当我链接到另一个页面时,它不工作。我一直在测试很多不同的实现,但我无法让它工作。你们知道我错过了什么吗?我试图了解谷歌分析是如何工作的,就我所知,它也是这样做的。当我使用WireShark监控我的网络时,我看到有人请求谷歌的图像,但我的图像没有

问候,
Daan

这是随机的,但您可以尝试在查询字符串中添加随机参数(名称和值),如:

过去我必须这样做才能让Safari注册一个动态加载的资源。
(我看到您已经有了
&rnd=
,但也可以尝试将名称随机化?

这是随机的,但您可以尝试在查询字符串中添加随机化参数(名称和值),如:

过去我必须这样做才能让Safari注册一个动态加载的资源。
(我看到您已经有了
&rnd=
,但也可以尝试将名称随机化吗?

这可能没有多大区别,但Windows上的Safari中是否存在此问题?还是在Mac上?我在两个版本中都测试过,两个版本都有相同的问题。在mac上的Safari中,我能够调试javascript并正确执行它。。这就像没有及时加载图像一样,因为单击后,您将进入另一个页面。这可能不会有太大的区别,但Windows上的Safari中是否存在此问题?还是在Mac上?我在两个版本中都测试过,两个版本都有相同的问题。在mac上的Safari中,我能够调试javascript并正确执行它。。这就像没有及时加载图像一样,因为单击之后,您将进入另一个页面。
Math.random(0, 1000) + '=' + Math.random(0, 1000)