我们的网站开发团队在我们的INTRAnet上管理许多网站(每个网站都有不同的虚荣URL)。我们想要实现一些容易添加Application.cfm / OnRequestEnd.cfm页面的东西(代码片段),该页面会将记录插入数据库中,跟踪诸如page,url,querystring,userid等内容 - 基本内容。插入记录并不是什么大问题。我想知道的是从性能角度来看,你们都会推荐什么,这样我们就不会因员工到各个网站而排队等待插入的瓶颈。我们不能使用jQuery,因为不是每个站点都有相同版本的jQuery,所以我们真的只限于使用Coldfusion - 我认为。
理想情况下,我们希望能够在主服务器上创建一个主要跟踪文件,并从我们所有其他站点引用该文件。然后,如果/当我们需要进行更新时,我们可以进行全局变更 - 有点像Google Analytics的工作方式,而不是那么多细节。
在我们支持的所有网站上,我们在这些网页上都有我们的部门徽标。我考虑过在图像加载过程中构建跟踪过程,就像使用电子邮件一样。
如果你有更好的主意,任何有关这方面的想法都会受到赞赏 - 我很满意。
已更新
关于图像处理,我找不到easycfm.com教程的原始链接,但我在这里找到了相同的代码:http://www.experts-exchange.com/Software/Server_Software/Web_Servers/ColdFusion/A_2386-Track-your-Emails-using-coldfusion.html
答案 0 :(得分:6)
我会说,在你有理由之前,不要试图过早地优化这个。如果您发现自己在轨道上遇到问题,则可以处理它。
创建一个Logging CFC并实现一个方法,该方法接收您希望记录的指标,然后将其包装到记录中以插入到DB中,并使用<cfquery>
将它们写入DB表。从OnRequestEnd.cfm调用该函数。
我特别建议将其转换为Logging CFC,因为如果您需要更改日志记录方式的实现,您只需更改日志记录方法的内部工作方式,而不必弄乱所有网站。
答案 1 :(得分:0)
我不会因为每个网站都有不同版本的JQuery而使用JavaScript。人们仍然习惯于在JQuery存在之前完成工作,它只是一个JavaScript库。动态包含一个脚本文件是非常基本的JavaScript,该脚本文件使用相关参数指向您的跟踪文件。
<script type="text/javascript">
var script = document.createElement("script");
var body = document.getElementsByTagName("body")[0];
script.setAttribute("src", "http://www.yourdomain.com/trackingfile.cfm?" + yourparams);
body.appendChild(script);
</script>
如您所见,不需要JQuery。