mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-24 03:55:49 +08:00
feat($sniffer): basic implementation of browser feature testing
This only extracts our 'hashchange' event and html5 history api detection from $browser. Closes #400
This commit is contained in:
24
src/service/sniffer.js
Normal file
24
src/service/sniffer.js
Normal file
@@ -0,0 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @workInProgress
|
||||
* @ngdoc service
|
||||
* @name angular.service.$sniffer
|
||||
* @requires $window
|
||||
*
|
||||
* @property {boolean} history Does the browser support html5 history api ?
|
||||
* @property {boolean} hashchange Does the browser support hashchange event ?
|
||||
*
|
||||
* @description
|
||||
* This is very simple implementation of testing browser's features.
|
||||
*/
|
||||
angularServiceInject('$sniffer', function($window) {
|
||||
if ($window.Modernizr) return $window.Modernizr;
|
||||
|
||||
return {
|
||||
history: !!($window.history && $window.history.pushState),
|
||||
hashchange: 'onhashchange' in $window &&
|
||||
// IE8 compatible mode lies
|
||||
(!$window.document.documentMode || $window.document.documentMode > 7)
|
||||
};
|
||||
}, ['$window']);
|
||||
Reference in New Issue
Block a user