Идентификатор аккаунта магазина для Google Analytics в Web.config (MVC 3) - PullRequest
2 голосов
/ 01 января 2012

У меня есть этот фрагмент:

<script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-11111111-1']);
        _gaq.push(['_trackPageview']);
        (function () {
            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);
        })();
</script>

Как сохранить идентификатор моей учетной записи в web.config? И как я могу вернуть его из web.config в js (вместо записи идентификатора напрямую)?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 января 2012

Вероятно, нет структурированного способа сделать это, я просто назвал его из web.config (без использования каких-либо действий, а просто напишите это) так:

в web.config:

<appSettings>
<add key="GoogleAnalyticsAccountId" value="UA-11111111-1" />
</appSettings>

в js:

_gaq.push(['_setAccount', '@System.Configuration.ConfigurationManager.AppSettings["GoogleAnalyticsAccountId"]']);
1 голос
/ 01 января 2012

напишите ActionResult, чтобы вернуть свой идентификатор

[HttpPost]
public ActionResult GetAnalyticId(){
var id = ConfigutationManager.ApplicationSetting["analyticID"].ToString();
return Content(id);
}

в вашем javascript

$.post("/Controller/GetAnalyticId",function(data){
//data contains the id use it where you want to
    var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-11111111-1']);
        _gaq.push(['_trackPageview']);
        (function () {
            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);
        })();

});
...