code: function sourceFromStacktrace() {
  	try {
  		throw new Error();
  	} catch ( e ) {
  		if (e.stacktrace) {
  			// Opera
  			return e.stacktrace.split("\n")[6];
  		} else if (e.stack) {
  			// Firefox, Chrome
  			return e.stack.split("\n")[4];
  		} else if (e.sourceURL) {
  			// Safari, PhantomJS
  			// TODO sourceURL points at the 'throw new Error' line above, useless
  			//return e.sourceURL + ":" + e.line;
  		}
  	}
  }
docs: so far supports only Firefox, Chrome and Opera (buggy) could be extended in the future to use something like https://github.com/csnover/TraceKit