Đây là những gì tôi cuối cùng đã làm (tôi không thích ý tưởng nhúng mã .Net trong javascript):
- Tôi thiết lập hai tài khoản Google Analytics, một để phát triển / thử nghiệm và một cho sản xuất
- Tạo một trang trả về id tài khoản Google Analytics (từ web.config) làm cơ thể.
- Trên $ (tài liệu). Đã có, hãy thực hiện cuộc gọi ajax đến trang
- Khi Ajax hoàn tất, hãy gọi tập lệnh phân tích google với phản hồi (chứa id tài khoản)
Vì vậy, tùy thuộc vào môi trường tôi triển khai, tôi sử dụng một trong hai phiên bản của tệp web.config chứa đúng tài khoản id.
Nó phức tạp hơn một chút, nhưng nó không liên quan đến việc tạo javascript từ .NET và nó rất đơn giản với jQuery.
Đây là mã cuối cùng:
var setupGoogleAnalytics = function (clientNumber) {
var gaq = gaq || [];
gaq.push(['_setAccount', clientNumber]);
gaq.push(['_setDomainName', 'none']);
gaq.push(['_trackPageview']);
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}
$(document).ready(function(){
$.ajax({
url: "GetGAClientNumber.aspx",
success: function(data) {
setupGoogleAnalytics(data);
}
});
});
Và nó hoạt động hoàn hảo!