|
javascript:(function () { |
|
if (!angular) { |
|
alert('Not a angular application or window.angular not found'); |
|
return; |
|
} |
|
|
|
var root = angular.element(document.getElementsByTagName('body')); |
|
|
|
var watchers = []; |
|
|
|
var f = function (element) { |
|
angular.forEach(['$scope', '$isolateScope'], function (scopeProperty) { |
|
if (element.data() && element.data().hasOwnProperty(scopeProperty)) { |
|
angular.forEach(element.data()[scopeProperty].$$watchers, function (watcher) { |
|
watchers.push(watcher); |
|
}); |
|
} |
|
}); |
|
|
|
angular.forEach(element.children(), function (childElement) { |
|
f(angular.element(childElement)); |
|
}); |
|
}; |
|
|
|
f(root); |
|
|
|
var watchersWithoutDuplicates = []; |
|
angular.forEach(watchers, function(item) { |
|
if(watchersWithoutDuplicates.indexOf(item) < 0) { |
|
watchersWithoutDuplicates.push(item); |
|
} |
|
}); |
|
|
|
alert('There is ' + watchersWithoutDuplicates.length + ' watcher(s) in the page'); |
|
})(); |