add small modules for page visibility api and notification apis
This commit is contained in:
47
www/common/visible.js
Normal file
47
www/common/visible.js
Normal file
@@ -0,0 +1,47 @@
|
||||
(function () {
|
||||
// Set the name of the hidden property and the change event for visibility
|
||||
var hidden, visibilityChange;
|
||||
if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support
|
||||
hidden = "hidden";
|
||||
visibilityChange = "visibilitychange";
|
||||
} else if (typeof document.mozHidden !== "undefined") {
|
||||
hidden = "mozHidden";
|
||||
visibilityChange = "mozvisibilitychange";
|
||||
} else if (typeof document.msHidden !== "undefined") {
|
||||
hidden = "msHidden";
|
||||
visibilityChange = "msvisibilitychange";
|
||||
} else if (typeof document.webkitHidden !== "undefined") {
|
||||
hidden = "webkitHidden";
|
||||
visibilityChange = "webkitvisibilitychange";
|
||||
}
|
||||
|
||||
var Visible = {
|
||||
hidden: hidden,
|
||||
visibilityChange: visibilityChange,
|
||||
};
|
||||
|
||||
var isSupported = Visible.isSupported = function () {
|
||||
return !(typeof(document.addEventListener) === "undefined" ||
|
||||
typeof document[hidden] === "undefined");
|
||||
};
|
||||
|
||||
var onChange = Visible.onChange = function (f) {
|
||||
document.addEventListener(visibilityChange, function (ev) {
|
||||
f(!document[hidden], ev);
|
||||
}, false);
|
||||
};
|
||||
|
||||
var currently = Visible.currently = function () {
|
||||
return !document[hidden];
|
||||
};
|
||||
|
||||
if (typeof(module) !== 'undefined' && module.exports) {
|
||||
module.exports = Visible;
|
||||
} else if ((typeof(define) !== 'undefined' && define !== null) && (define.amd !== null)) {
|
||||
define(function () {
|
||||
return Visible;
|
||||
});
|
||||
} else {
|
||||
window.Visible = Visible;
|
||||
}
|
||||
}());
|
||||
Reference in New Issue
Block a user