hashchange.js 863 B

123456789101112131415161718192021222324252627282930313233
  1. /*!
  2. {
  3. "name": "Hashchange event",
  4. "property": "hashchange",
  5. "caniuse": "hashchange",
  6. "tags": ["history"],
  7. "notes": [{
  8. "name": "MDN Docs",
  9. "href": "https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onhashchange"
  10. }],
  11. "polyfills": [
  12. "jquery-hashchange",
  13. "moo-historymanager",
  14. "jquery-ajaxy",
  15. "hasher",
  16. "shistory"
  17. ]
  18. }
  19. !*/
  20. /* DOC
  21. Detects support for the `hashchange` event, fired when the current location fragment changes.
  22. */
  23. define(['Modernizr', 'hasEvent'], function(Modernizr, hasEvent) {
  24. Modernizr.addTest('hashchange', function() {
  25. if (hasEvent('hashchange', window) === false) {
  26. return false;
  27. }
  28. // documentMode logic from YUI to filter out IE8 Compat Mode
  29. // which false positives.
  30. return (document.documentMode === undefined || document.documentMode > 7);
  31. });
  32. });