12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /*
- * Protect window.console method calls, e.g. console is not defined on IE
- * unless dev tools are open, and IE doesn't define console.debug
- *
- * http://stackoverflow.com/questions/3326650/console-is-undefined-error-for-internet-explorer
- */
- (function () {
- if (!window.console) {
- window.console = {};
- }
- // union of Chrome, FF, IE, and Safari console methods
- var m = [
- "log", "info", "warn", "error", "debug", "trace", "dir", "group",
- "groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
- "dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
- ];
- // define undefined methods as noops to prevent errors
- for (var i = 0; i < m.length; i++) {
- if (!window.console[m[i]]) {
- window.console[m[i]] = function () {
- };
- }
- }
- })();
- (function () {
- var Counter = function (server) {
- if (!server) {
- server = 'http://counter.duowan.com';
- }
- this._server = server;
- };
- Counter.prototype.incr = function (key, step) {
- if (!key) {
- key = 'clickOnPage';
- }
- if (!step) {
- step = 1;
- }
- var counter = this;
- var data = {
- domain: 'lolbox',
- subkey: key,
- count: step
- };
- var options = {
- type:'POST',
- url:counter._server + '/open/daily/collect',
- crossDomain: true,
- data: data,
- timeout:3 * 1000,
- cache: false
- };
- $.ajax(options)
- .done(
- function (data, textStatus, jqXHR) {
- if (jqXHR.status !== 200) {
- console.log('counter incr failed');
- }
- })
- .fail(
- function (jqXHR, textStatus, errorThrown) {
- console.error(jqXHR);
- console.error(textStatus);
- console.error(errorThrown);
- });
- };
- window.Counter = window.Counter ? window.Counter : Counter;
- })();
|