The JS script presented in this page can be used to execute a JavaScript function when the page visibility state changes (when it is opened another window, or focus again this page); the function is whenVisChg(), see the comments in code.
Script code - click to select it
<script>
//JS code from: https://coursesweb.net/javascript/
// Defines a handler for page visibility changes
var vis_chg = (function(){
var stateKey, eventKey, keys = {
hidden: 'visibilitychange',
webkitHidden: 'webkitvisibilitychange',
mozHidden: 'mozvisibilitychange',
msHidden: 'msvisibilitychange'
};
for(stateKey in keys){
if(stateKey in document){
eventKey = keys[stateKey];
break;
}
}
return function(c){
if(c){
document.addEventListener(eventKey, c);
//document.addEventListener('focus', c); //for when focus again this page
}
return !document[stateKey];
}
})();
// Gives the initial state
var page_vstate = vis_chg() ?'visible' :'not-visible';
vis_chg(function(){
var re_vchg = vis_chg(); //FALSE=leaves the page; TRUE=re-enter in page
console.log(new Date, 'vis_chg: ', re_vchg); //for debug in console
page_vstate = re_vchg ?'visible' : whenVisChg();
});
//This function is executed when the page changes visibility state
function whenVisChg(){
document.title ='not-visible'; //changes page title in browser
//HERE you can set your code
alert('page visibility state changed');
return 'not-visible';
}
</script>
- To test the script, click on , or just open a new tab /window in your browser. The Title of this page in browser will be changed and an alert message box will be displayed on this page.
Click on the HTML tag which creates an horizontal line in web page.
<br /> <em> <hr />
Some content ...
<hr />
Content under line ...
Which CSS property defines the text color?
font-style font-variant color
h2 {
color: #cbdafb;
}
Click on the function which searches if a character, or text exists in a string.
indexOf() toString() split()
var str = "Web courses - http://CoursesWeb.net/";
if(str.indexOf("http://") == -1) alert("http:// isn`t in string");
else alert("http:// is in string");
Which function splits a string into an array of strings based on a separator?