跟踪JavaScript文件的使用和使用情况

跟踪JavaScript文件的使用和使用情况,javascript,asp.net,asp.net-mvc,google-analytics,Javascript,Asp.net,Asp.net Mvc,Google Analytics,我有一个来自ASP.NETMVC站点的JavaScript库。我想追踪这个图书馆的使用情况。我只对跟踪库加载到的页面、加载时间和加载次数感兴趣。我不需要跟踪其他分析 以下是我可以想到的方法: 加载JavaScript文件后,将分析嵌入消费网页。这是可能的,因为我的库将HTML元素注入到消费页面的DOM中。就隐私问题而言,这个库实际上只是供我工作的组织内部使用,所以我可能不必太担心这个问题。我们使用谷歌分析 设置一个ASP.NET MVC控制器,为JavaScript文件提供服务并跟踪每个请求。我

我有一个来自ASP.NETMVC站点的JavaScript库。我想追踪这个图书馆的使用情况。我只对跟踪库加载到的页面、加载时间和加载次数感兴趣。我不需要跟踪其他分析

以下是我可以想到的方法:

  • 加载JavaScript文件后,将分析嵌入消费网页。这是可能的,因为我的库将HTML元素注入到消费页面的DOM中。就隐私问题而言,这个库实际上只是供我工作的组织内部使用,所以我可能不必太担心这个问题。我们使用谷歌分析
  • 设置一个ASP.NET MVC控制器,为JavaScript文件提供服务并跟踪每个请求。我相信这就是谷歌用谷歌地图和其他一些图书馆所做的

  • 我想知道是否有人对如何最好地实现这一点提出了一般性建议。我曾尝试通过Google Analytics获得此设置,但GA报告中的页面URL不显示请求页面的完整URL。GA似乎假设对某个跟踪代码的请求来自基本域。

    您是否考虑过让JavaScript文件创建一个图像变量并以这种方式跟踪使用情况

    var img = new Image();
    img.src = 'http://www.mysite.com/controller/action?t=' + new Date().getTime();
    


    您不必写入DOM,但图像将在幕后渲染。您可以通过传递要收集的任何其他变量来扩展此功能。

    在库的末尾编写代码,以当前url作为参数向服务器发出ajax请求

    如果您使用jQuery,您可以执行以下操作

    JS

    ....
    other codes
    ....
    jQuery.ajax({
          url:'/home/Tracking_Url',
          type:'POST',
          data:{url:window.location+""}
    });
    
    控制器动作

    public Tracking_Url(string url)
    {
        //do something with url
    }
    

    我认为控制器方法或服务器日志可能不会跟踪缓存的文件请求。我没有考虑到这一点,我应该注意到变量“t”是一个时间戳,它会阻止页面缓存。您还可以创建一个自定义路由,它使用时间戳作为结构的一部分:www.mysite.com/images/{t}/1px.gif?u={url}我喜欢这种简单性。谢谢答案也不错。我把@Splash-X标记为答案,因为他先回答。谢谢
    public Tracking_Url(string url)
    {
        //do something with url
    }