Home > Article > Web Front-end > How to automatically close a page with javascript at a scheduled time
Method: 1. Use the setTimeout method, the syntax "setTimeout (the code to be executed, the number of milliseconds to wait)"; 2. Use the setInterval method, the syntax "setInterval (the function to be called, the number of milliseconds to wait)" time interval)".
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
No more nonsense, I will just post the code for you.
//js 定时关闭窗口(ie和FF中测试过) //6秒后自动关闭当前窗口 setTimeout("window.opener=null;window.close()",6000);
The following is an introduction to the use of javascript timers
Using timers to implement delayed execution or repeated execution of JavaScript The window object provides two methods to achieve the effect of the timer. They are
window.setTimeout() and window.setInterval respectively. The former can make a piece of code run after a specified time; while the latter can make a piece of code run once every specified time. Their prototypes are as follows: window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds); where expression can be a string or a function name. When it is a string, you can take parameters, but the function name cannot take parameters. If you take parameters, the function will be executed directly without delay.
function hello (){ console.log('I am dada'); //alert('I am ' + name); //setTimeout(arguments.callee,2000); } setTimeout(hello,5000);//5秒后执行 setTimeout('hello()',3000);//3秒后执行 setTimeout(hello(),8000);//立刻执行
The first case is a function name, but it cannot take parameters
The second case is a string, executable js code, which can take parameters, but the performance is worse than the function name
The third method is to call the function and execute it directly
So if you want to pass the parameters, but don’t want to call it in the form of a string, you can write a method yourself:
function _hello(_name){ return function(){ hello2(_name); } } setTimeout(_hello(name),7000);//立刻执行
1. setTimeout
setTimeout(function(){ //要执行的代码 },200);
means that after 200ms, the timer code is added to the queue and waits for the JavaScript process to be idle before the code is executed
2. setInterval
1. The above code refers to creating a timer that executes code every 200ms
2. When using setInterval, only when there is no other code instance of the timer (in the queue) , before adding the timer code to the queue, quoting the statement in the JavaScript Advanced Programming Second Edition (that is: when the current timer code is executed, the first timer code immediately following it will be added to the queue, waiting execution, and the subsequent timer code will not be added to the queue)
You will encounter a problem when using setInterval to perform repeated behaviors:
When timing If the execution time of the timer code (if it takes 600ms to complete) exceeds the specified interval (here is 200ms), then some timer codes will be skipped (that is, subsequent timer codes will not be added to the queue), and the previous timer code will not be added to the queue. After the timer code is executed, the timer code in the queue is executed immediately, and there is no interval between the code executions of each timer. At this time, you need to use chained setTimeout.
The advantage of this is: after the code to be executed by the previous timer is executed and waits for 200ms, a new timer is created and the timer code is added to the queue for execution: The timer code will not be skipped; there can be intervals between code executions between timers (according to your own settings).
setTimeout(function(){ //要执行的代码 setTimeout(arguments.callee,2000); },2000); setInterval(function(){ //要执行的代码 },200);
[Recommended learning: javascript advanced tutorial]
The above is the detailed content of How to automatically close a page with javascript at a scheduled time. For more information, please follow other related articles on the PHP Chinese website!