2013年9月4日 星期三

[轉貼] 每個頁面自動加入 Trace Code (透過global.asax)


Demo Code Ver. : .NET Framework 4.0
Piwik是一個類似Google Analytics的網頁訪客分析的平台,這種適合在企業內部使用。不過,今天並不是要說明
Piwik偉大之處,而是讓如何讓Web site可以快速加入Piwik的Trace Code,當我們將網站的URL註冊到Piwik平台之
後,可以在Piwik的管理介面得到該網站的Trace Code,該Trace code是javascript組成的
image
看到這邊大家因該可以想到如何將此Trace Code放入頁面中,讓Piwik可以Trace到該頁面資訊。有幾種方式
  1. 在每個頁面加入該Trace code之Javescript
  2. 若是針對整個網站想一次性加入,可以在Master Page加入或是透過Web Part加入
  3. 若是不在前端頁面加入Script,也可以在後端透過程式碼將此Trace Code埋入各個頁面
這次說明如何透過後端進行加入Piwik Trace Code動作
1.首先將Piwik中Trace code拆成兩個javascript檔案
image
將藍色框中的Code放入piwik.js
 將綠色框中的Code放入PiwikTracker.js

2.在Web Site中的global.asax的Application_PreRequestHandlerExecute中進行撰寫程式碼
PreRequestHandlerExecute:當 ASP.NET 事件處理常式 (例如,網頁或 XML Web Service) 完成執行時發生。
透過此事件處理事件將每個要拋出頁面加入此兩個javascript檔案
3.使用IHttpHandler介面處理所有Web Http之要求
1IHttpHandler handler = HttpContext.Current.CurrentHandler;
4.透過Control.ResolveClientUrl將js檔案的路徑放入到需要呈現之頁面,這樣透過網頁程式碼就可以看到有link兩個js檔案
5.完整程式碼

沒有留言:

張貼留言