mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-24 08:08:15 -05:00
47 lines
1.3 KiB
CoffeeScript
47 lines
1.3 KiB
CoffeeScript
|
module.exports = initializeSegmentio = ->
|
||
|
analytics = window.analytics = window.analytics or []
|
||
|
return if analytics.initialize
|
||
|
return console?.error 'Segment snippet included twice.' if analytics.invoked
|
||
|
analytics.invoked = true
|
||
|
analytics.methods = [
|
||
|
'trackSubmit'
|
||
|
'trackClick'
|
||
|
'trackLink'
|
||
|
'trackForm'
|
||
|
'pageview'
|
||
|
'identify'
|
||
|
'reset'
|
||
|
'group'
|
||
|
'track'
|
||
|
'ready'
|
||
|
'alias'
|
||
|
'page'
|
||
|
'once'
|
||
|
'off'
|
||
|
'on'
|
||
|
]
|
||
|
|
||
|
analytics.factory = (t) ->
|
||
|
->
|
||
|
e = Array::slice.call(arguments)
|
||
|
e.unshift t
|
||
|
analytics.push e
|
||
|
analytics
|
||
|
|
||
|
for method in analytics.methods
|
||
|
analytics[method] = analytics.factory method
|
||
|
|
||
|
analytics.load = (t) ->
|
||
|
e = document.createElement 'script'
|
||
|
e.type = 'text/javascript'
|
||
|
e.async = true
|
||
|
e.src = (if document.location.protocol is 'https:' then 'https://' else 'http://') + 'cdn.segment.com/analytics.js/v1/' + t + '/analytics.min.js'
|
||
|
n = document.getElementsByTagName('script')[0]
|
||
|
n.parentNode.insertBefore e, n
|
||
|
Backbone.Mediator.publish 'application:service-loaded', service: 'segment'
|
||
|
return
|
||
|
|
||
|
analytics.SNIPPET_VERSION = '3.1.0'
|
||
|
analytics.load 'yJpJZWBw68fEj0aPSv8ffMMgof5kFnU9'
|
||
|
#analytics.page() # Don't track the page view on initial inclusion
|