From a22e0699bef61a7083b0b628fb6043531c0ca1c0 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Mon, 2 Apr 2012 12:26:57 -0700 Subject: feat($sniffer): add hasEvent method for sniffing events Skip changelog --- src/ng/sniffer.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/ng/sniffer.js b/src/ng/sniffer.js index eebb2903..3249b816 100644 --- a/src/ng/sniffer.js +++ b/src/ng/sniffer.js @@ -12,13 +12,23 @@ * @description * This is very simple implementation of testing browser's features. */ -function $SnifferProvider(){ - this.$get = ['$window', function($window){ +function $SnifferProvider() { + this.$get = ['$window', function($window) { + var eventSupport = {}; + return { history: !!($window.history && $window.history.pushState), hashchange: 'onhashchange' in $window && // IE8 compatible mode lies - (!$window.document.documentMode || $window.document.documentMode > 7) + (!$window.document.documentMode || $window.document.documentMode > 7), + hasEvent: function(event) { + if (isUndefined(eventSupport[event])) { + var divElm = $window.document.createElement('div'); + eventSupport[event] = 'on' + event in divElm; + } + + return eventSupport[event]; + } }; }]; } -- cgit v1.2.3