Помощник MVC Analytics - PullRequest
       2

Помощник MVC Analytics

0 голосов
/ 13 сентября 2011

У Google есть несколько вариантов генерации сценария кода ag, в зависимости от того, что вы отслеживаете:

1)A single domain e.g site.com
2)One domain with multiple subdomains e.g site.com/something.site.com
3)Multiple top-level domains e.g site.ch/site.fr

но Microsoft.Web.Helpers имеет только два метода Google:

GetGoogleAsyncHtml(string webPropertyId);
GetGoogleHtml(string webPropertyId);

Таким образом, нет никакого способа управлять опциями, которые я описал выше.

Разве это не страшно, если бы у меня был сайт с One domain with multiple subdomains(second options), но в то же время я бы использовал один из методов, описанных выше, или лучше просто получить скрипт google в таком случае и забыл об этом помощнике?

p.s. Я просто обнаружил, что метод @Analytics.GetGoogleAsyncHtml() возвращает точно такой же скрипт ga, что и Google A single domain e.g site.com. Похоже, что помощник не генерирует еще два типа.

1 Ответ

0 голосов
/ 13 сентября 2011

Вы можете создать своего собственного помощника, который будет выполнять ту работу, которую вы хотите. Это то, что я сделал для поддержки Piwik . Просто возьмите следующий пример и отредактируйте его для поддержки того, что вы хотите для Google Analytics.

public class Analytics : HelperPage
{
    public static HelperResult GetPiwikHtml(Uri serverHost, int siteId)
    {
        string host = serverHost.Host;

        return new HelperResult(x =>
        {
            HelperPage.WriteLiteralTo(x, "    <!-- Piwik -->\r\n");
            HelperPage.WriteLiteralTo(x, "    <script type=\"text/javascript\">\r\n        var pkBaseURL = ((\"https:\" == document.location.protocol) ? \"https://" + host + "/\" : \"http://" + host + "/\");\r\n        document.write(unescape(\"%3Cscript src='\" + pkBaseURL + \"piwik.js' type='text/javascript'%3E%3C/script%3E\"));\r\n    </script>\r\n");
            HelperPage.WriteLiteralTo(x, "    <script type=\"text/javascript\">\r\n        try{\r\n            var piwikTracker = Piwik.getTracker(pkBaseURL + \"piwik.php\", ");
            HelperPage.WriteTo(x, siteId);
            HelperPage.WriteLiteralTo(x, ");\r\n            piwikTracker.trackPageView();\r\n            piwikTracker.enableLinkTracking();\r\n        } catch(err) {}\r\n    </script>\r\n");
            HelperPage.WriteLiteralTo(x, "    <noscript><p><img src=\"http://" + host + "/piwik.php?idsite=" + siteId + "\" style=\"border:0\" alt=\"\" /></p></noscript>\r\n");
            HelperPage.WriteLiteralTo(x, "    <!-- End Piwik Tracking Code -->");
        });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...