Maison  >  Article  >  interface Web  >  Comment fermer automatiquement une page avec javascript à une heure programmée

Comment fermer automatiquement une page avec javascript à une heure programmée

醉折花枝作酒筹
醉折花枝作酒筹original
2021-06-15 14:17:274789parcourir

Méthode : 1. Utilisez la méthode setTimeout, la syntaxe "setTimeout (le code à exécuter, le nombre de millisecondes à attendre)" ; 2. Utilisez la méthode setInterval, la syntaxe "setInterval (la fonction à attendre)" ; être appelé, le nombre de millisecondes à attendre)" intervalle de temps)".

Comment fermer automatiquement une page avec javascript à une heure programmée

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Plus de bêtises, je vous poste juste le code.

//js 定时关闭窗口(ie和FF中测试过)
//6秒后自动关闭当前窗口
setTimeout("window.opener=null;window.close()",6000);

Ce qui suit est une introduction à l'utilisation des minuteries JavaScript

Utilisation de minuteries pour implémenter une exécution retardée ou une exécution répétée de JavaScript L'objet window fournit deux méthodes pour obtenir l'effet du timer. Il s'agit respectivement de

window.setTimeout() et window.setInterval. Le premier peut exécuter un morceau de code après une heure spécifiée ; tandis que le second peut exécuter un morceau de code une fois à chaque heure spécifiée. Leurs prototypes sont les suivants : window.setTimeout(expression,milliseconds) ; window.setInterval(expression,milliseconds) où expression peut être une chaîne ou un nom de fonction. Lorsqu'il s'agit d'une chaîne, vous pouvez prendre des paramètres, mais le nom de la fonction ne peut pas prendre de paramètres. Si vous prenez des paramètres, la fonction sera exécutée directement sans délai.

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);//立刻执行

Le premier cas est un nom de fonction, mais il ne peut pas prendre de paramètres

Le deuxième cas est une chaîne, un code js exécutable qui peut prendre des paramètres, mais ses performances sont pires que celles de un nom de fonction

La troisième méthode consiste à appeler une fonction et à l'exécuter directement

Donc si vous souhaitez passer des paramètres, mais que vous ne voulez pas l'appeler sous forme de chaîne, vous pouvez écrire une méthode vous-même :

function _hello(_name){ 
return function(){ 
hello2(_name); 
} 
} 
setTimeout(_hello(name),7000);//立刻执行

1. setTimeout

setTimeout(function(){
//要执行的代码 
},200);

signifie qu'après 200 ms, le code du minuteur est ajouté à la file d'attente et attend que le processus JavaScript soit inactif avant que le code ne soit ajouté. exécuté

2. setInterval

1 Le code ci-dessus fait référence à la création d'un minuteur qui exécute le code toutes les 200 ms

2. aucune autre instance de code du temporisateur (dans la file d'attente), avant d'ajouter le code du temporisateur à la file d'attente, en citant l'instruction dans JavaScript Advanced Programming Deuxième édition (c'est-à-dire : lorsque le code du temporisateur actuel est exécuté, le premier code du temporisateur qui suit immédiatement il sera ajouté à la file d'attente, en attente d'exécution, et le code de minuterie suivant ne sera pas ajouté à la file d'attente)

Vous rencontrerez un problème lors de l'utilisation de setInterval pour effectuer des comportements répétés :

Lors du timing Si le temps d'exécution du code de minuterie (s'il prend 600 ms) dépasse l'intervalle spécifié (ici 200 ms), alors certains codes de minuterie seront ignorés (c'est-à-dire que les codes de minuterie suivants ne seront pas ajouté à la file d'attente), et le code de minuterie précédent ne sera pas ajouté à la file d'attente. Une fois le code de minuterie exécuté, le code de minuterie dans la file d'attente est exécuté immédiatement et il n'y a pas d'intervalle entre les exécutions de code entre les minuteries. À ce stade, vous devez utiliser setTimeout en chaîne.

L'avantage de ceci est : après l'exécution du code à exécuter par le timer précédent et l'attente de 200 ms, un nouveau timer est créé et le code du timer est ajouté à la file d'attente pour exécution : Le le code du timer ne sera pas ignoré ; il peut y avoir des intervalles entre les exécutions de code entre les timers (selon vos propres paramètres).

setTimeout(function(){
//要执行的代码 
setTimeout(arguments.callee,2000); 
},2000);
setInterval(function(){
//要执行的代码 
},200);

[Apprentissage recommandé : Tutoriel avancé javascript]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn