Small improvements submit of data on window close.

This commit is contained in:
Martin Edenhofer 2013-08-03 14:05:08 +02:00
parent 78f1dc66d2
commit 12874b5f7a

View file

@ -25,6 +25,7 @@ class _trackSingleton
@browser = App.Browser.detection() @browser = App.Browser.detection()
@data = [] @data = []
@url = 'https://portal.znuny.com/api/ui' @url = 'https://portal.znuny.com/api/ui'
# @url = 'api/ui'
@log( 'start', 'notice', {} ) @log( 'start', 'notice', {} )
@ -59,7 +60,7 @@ class _trackSingleton
if settings.url.substr(0,length) isnt @url && settings.url.substr(0,6) isnt 'api/ui' if settings.url.substr(0,length) isnt @url && settings.url.substr(0,6) isnt 'api/ui'
level = 'notice' level = 'notice'
responseText = '' responseText = ''
if request.status > 200 if request.status >= 400
level = 'error' level = 'error'
responseText = request.responseText responseText = request.responseText
@log( @log(
@ -68,6 +69,7 @@ class _trackSingleton
{ {
type: settings.type type: settings.type
dataType: settings.dataType dataType: settings.dataType
async: settings.async
url: settings.url url: settings.url
data: settings.data data: settings.data
status: request.status status: request.status
@ -80,7 +82,8 @@ class _trackSingleton
'beforeunload' 'beforeunload'
=> =>
@log( 'end', 'notice', {} ) @log( 'end', 'notice', {} )
@send() @send(false)
return
) )
@ -93,7 +96,7 @@ class _trackSingleton
data: args data: args
@data.push info @data.push info
send: => send: (async = true) =>
return if _.isEmpty @data return if _.isEmpty @data
newData = _.clone( @data ) newData = _.clone( @data )
@data = [] @data = []
@ -113,6 +116,7 @@ class _trackSingleton
App.Com.ajax( App.Com.ajax(
type: 'POST' type: 'POST'
url: @url url: @url
async: async
data: JSON.stringify( data: JSON.stringify(
track_id: @trackId track_id: @trackId
log: newDataNew log: newDataNew
@ -132,6 +136,9 @@ class _trackSingleton
@data @data
` `
window.onerror = function(errorMsg, url, lineNumber) {
console.error(errorMsg + " - in " + url + ", line " + lineNumber);
};
(function() { (function() {
var console = window.console var console = window.console