var ngAppElem = angular.element(document.querySelector('[ng-app],[data-ng-app]') || document); window.$injector = ngAppElem.injector(); window.inject = $injector.invoke; window.$rootScope = ngAppElem.scope(); // getService('auth') will create a variable `auth` assigned to the service `auth`. var getService = function getService(serviceName) { inject([serviceName, function (s) {window[serviceName] = s;}]); }; Object.defineProperty(window, '$scope', { get: function () { var elem = angular.element(__commandLineAPI.$0); return elem.isolateScope() || elem.scope(); }, }); /** * USAGE * * First copy the script and paste it in Chrome DevTools in Sources -> left pane -> Snippets. * Then, after loading an Angular page, right click on the snippet and choose "run". * Afterwards, you have the following available in the console: * * 1) $rootScope * 2) inject(function ($q, $compile) { ...use $q and $compile here... }); * 3) click on an element in DevTools; now $scope in the console points at the element scope (isolate if one exists). * * Enjoy! */