Ensure GA is recorded for each page change
This commit is contained in:
@@ -13,5 +13,4 @@ script.
|
|||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||||
|
|
||||||
ga('create', 'UA-5871323-4', 'crafting-guide.com');
|
ga('create', 'UA-5871323-4', 'crafting-guide.com');
|
||||||
ga('send', 'pageview');
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
|
|||||||
@_pageControllers = {}
|
@_pageControllers = {}
|
||||||
super options
|
super options
|
||||||
|
|
||||||
|
@on Event.route, => @_recordPageView()
|
||||||
|
|
||||||
# Backbone.Router Overrides ####################################################################
|
# Backbone.Router Overrides ####################################################################
|
||||||
|
|
||||||
routes:
|
routes:
|
||||||
@@ -38,6 +40,13 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
|
|||||||
|
|
||||||
# Private Methods ##############################################################################
|
# Private Methods ##############################################################################
|
||||||
|
|
||||||
|
_recordPageView: ->
|
||||||
|
if global.env is 'production'
|
||||||
|
logger.info "Recording GA page view: #{window.location.href}"
|
||||||
|
ga('send', 'pageview')
|
||||||
|
else
|
||||||
|
logger.info "Suppressing GA page view: #{window.location.href}"
|
||||||
|
|
||||||
_setPage: (controllerName)->
|
_setPage: (controllerName)->
|
||||||
controller = @_pageControllers[controllerName]
|
controller = @_pageControllers[controllerName]
|
||||||
if not controller? then throw new Error "cannot find controller named: #{controllerName}"
|
if not controller? then throw new Error "cannot find controller named: #{controllerName}"
|
||||||
|
|||||||
+11
-3
@@ -15,13 +15,21 @@ CraftingGuideRouter = require './crafting_guide_router'
|
|||||||
if typeof(global) is 'undefined'
|
if typeof(global) is 'undefined'
|
||||||
window.global = window
|
window.global = window
|
||||||
|
|
||||||
global.logger = new Logger level:Logger.WARNING
|
global.logger = new Logger
|
||||||
global.router = new CraftingGuideRouter
|
global.router = new CraftingGuideRouter
|
||||||
global.util = require 'util'
|
global.util = require 'util'
|
||||||
global.views = views
|
global.views = views
|
||||||
|
|
||||||
if window.location.hostname is 'localhost'
|
switch window.location.hostname
|
||||||
logger.level = Logger.TRACE
|
when 'localhost'
|
||||||
|
global.env = 'development'
|
||||||
|
logger.level = Logger.TRACE
|
||||||
|
when 'new.crafting-guide.com'
|
||||||
|
global.env = 'staging'
|
||||||
|
logger.level = Logger.VERBOSE
|
||||||
|
when 'crafting-guide.com'
|
||||||
|
global.env = 'production'
|
||||||
|
logger.level = Logger.WARNING
|
||||||
|
|
||||||
feedbackController = new FeedbackController el:'.view__feedback'
|
feedbackController = new FeedbackController el:'.view__feedback'
|
||||||
feedbackController.render()
|
feedbackController.render()
|
||||||
|
|||||||
Reference in New Issue
Block a user