Cet article vous apporte des connaissances pertinentes sur JavaScript. Il présente principalement les problèmes liés aux opérations de nomenclature, y compris les événements courants des objets de fenêtre, les mécanismes d'exécution de JavaScript, etc. Examinons-le ensemble, j'espère qu'il sera utile à tout le monde.
Événements courants de l'objet window
Événement de chargement de fenêtre :
- window.onload : événement de chargement de page Cet événement est déclenché lorsque le contenu du document est complètement chargé (y compris les images, les fichiers de script, les fichiers CSS, etc.) et que la fonction de traitement est appelée.
- document.addEventListener('DOMContentLoaded', function(){}) : Uniquement lorsque le chargement du DOM est terminé, à l'exclusion des feuilles de style, des images, du flash et
des événements de compatibilité pour ajuster la taille de la fenêtre :
- window.onresize : Ajuster l'événement de chargement de la taille de la fenêtre
window La méthode .open() peut être utilisée pour naviguer vers une URL spécifiée ou pour ouvrir une nouvelle fenêtre de navigateur.
- Cette méthode reçoit 4 paramètres : l'URL à charger, la fenêtre cible, une chaîne de caractères et une représentation de la nouvelle fenêtre. dans l'historique du navigateur. S'il faut représenter la valeur booléenne de la page actuellement chargée
window.open("http://www.wrox.com/", "wroxWindow","height=400,width=400,top=10,left=10,resizable=yes");
timer:
- setInterval(handler: any, timeout?: long, arguments…: any): boucle
- clearInterval(handle?: long): annuler setInterval
- setTimeout(handler: any, timeout?: long , arguments… : any) : ClearTimeout unique
- (handle?: long) : Annuler setTimeout
window.scroll(x, y)
window.scrollTo(x, y) : Les deux sont la même utilisation pour changer la position de l'horizontale et barres de défilement verticales, à condition qu'il y en ait La barre de défilement est sur la page
window.scrollBy(x, y) : Le défilement cumulé de la barre de défilement, les nombres positifs descendent, les nombres négatifs montent window.scrollBy(0, 10) : Lorsqu'elle est appelée toutes les 100 millisecondes, la barre de défilement se déplace de 10 pixels
window.getComputedStyle (elem, pseudo-class)
boîte de dialogue
- alert
- alert("prompt string")
- fait apparaître une boîte d'avertissement et affiche le texte de la chaîne d'invite dans la boîte d'avertissement
- confirmer
- confirmer ("chaîne d'invite")
- affiche une boîte de confirmation et confirme. La chaîne d'invite est affichée dans la boîte.
- Lorsque l'utilisateur clique sur le bouton "Confirmer", elle renvoie vrai et clique sur "Annuler" pour renvoyer une fausse
- invite
- ("chaîne d'invite"). , "valeur par défaut")
- affiche une zone de saisie et affiche le caractère d'invite dans la zone de saisie Chaîne, en attente de la saisie de l'utilisateur.
- Lorsque l'utilisateur clique sur le bouton "Confirmer", la saisie de l'utilisateur est renvoyée lorsque le bouton "Annuler" est cliqué. , une valeur nulle est renvoyée.
Le mécanisme d'exécution JavaScript
exécute le script js et place le code js dans la pile d'exécution dans un mode d'exécution synchrone. Lors de l'exécution de la pile d'exécution, il rencontre du code asynchrone JS (événements, minuteurs, ajax, chargement de ressources). , erreur) est placé dans les API Web (file d'attente des tâches). Lorsque le code dans la pile d'exécution est terminé, accédez à la file d'attente des tâches et prenez la première pour l'exécution. Après l'exécution, récupérez-en une dans la file d'attente des tâches et exécutez-la, et exécutez-le à plusieurs reprises (boucle d'événement) jusqu'à ce que l'exécution dans la file d'attente des tâches soit terminée.
L'objet de localisation
window.history est utilisé pour obtenir l'adresse URL de la page actuelle et rediriger le navigateur vers une nouvelle page.

http://www.itcast.cn:80/index.html?name=andy&age=1#link
http : protocole de communication www.itcast.cn : nom de domaine 80 : port index.html : path?name=andy&age=1 : paramètre #link fragment : point d'ancrage,
attribut de l'objet lien :
- href* : obtenir ou définir l'intégralité de l'URL
- hôte : renvoie le nom d'hôte (nom de domaine)
- hostname : définit ou renvoie le nom d'hôte de la
- publication URL actuelle : renvoie le numéro de port
- pathname : renvoie le chemin
- search* : renvoie
- le hachage du paramètre : renvoie le fragment (contenu après #)
- protocole : définit ou renvoie la
méthode objet de protocole de l'URL actuelle :
- assign : comme href, vous pouvez accéder à la page (également appelée page de redirection)
replace : remplace la page actuelle, car l'historique n'est pas enregistré, vous ne pouvez pas revenir au - rechargement
- de la page
- : recharge la page, équivalent à l'
objet navigateur
de la fonction d'actualisation 

navigator : un objet qui encapsule les informations de configuration du navigateur
- cookieEnabled Si les cookies sont activés dans le navigateur actuel
- cookie : L'espace de stockage sur le client et la capacité sont petits. Différents navigateurs ont des tailles différentes et la clé peut être enregistrée de manière permanente.
- Inconvénients : En particulier.
Les plugins - d'informations personnelles easy Leak
- encapsulent toutes les informations des plug-ins installés par le navigateur
- userAgent, nom du navigateur, numéro de version du noyau et autres séries de caractères
- en ligne L'ordinateur est-il hors ligne ? L'ordinateur est-il connecté à Internet ?
- platform renvoie la plate-forme du système d'exploitation exécutant le navigateur
- appCodeName renvoie le nom de code du navigateur
- appName renvoie le nom du navigateur
- appVersion renvoie les informations de plate-forme et de version de
l'objet historique du navigateur
window.history l'objet inclut la collection d'historique (url) du navigateur
- le dos du navigateur Fonction : history.back()
- Fonction de transfert du navigateur : history.forward()
- Entrez une certaine page dans l'historique : history.go()
objet d'écran
window.screen l'objet contient des informations sur l'utilisateur

// screen : Obtenez la taille de résolution du périphérique d'affichage // Pleine résolution : screen.widht/height
// Comment identifier le type de client compatible avec toutes les largeurs de client // Grand écran, moyen écran, petit écran, ultra petit écran // lg md sm xs
// TV pc pad téléphone
//Largeur >= 1200 >=992 >= 768 < 768
//La résolution restante après la suppression de la barre des tâches // screen.availHeight/availWidth
- Largeur d'écran disponible : screen.availWidth
- Hauteur d'écran disponible : screen.availHeight
- Hauteur d'écran : screen.Height
- Largeur d'écran : screen.Width
- Le nombre de chiffres de la couleur de l'écran : colorDepth
element offset La série offset
peut obtenir dynamiquement la position (offset), la taille, etc. de l'élément
- Obtenir la distance entre l'élément et la position de l'élément parent
- ps
- : Le retour
. - value n'a pas d'unité.
Attributs couramment utilisés de la série offset :
- element offsetParent : Renvoie l'élément parent avec le positionnement comme élément. Si l'élément parent n'est pas positionné, le corps est renvoyé
- . de l'élément au-dessus de l'élément parent positionné.
- element.offsetLeft* : renvoie la bande relative de l'élément. Il y a un décalage à gauche de l'élément parent positionné.
- element.offsetWidth : renvoie la largeur de lui-même, y compris le remplissage, la bordure et le contenu. , sans unité
- element.offsetHeight : renvoie la hauteur d'elle-même, y compris le remplissage, la bordure et le contenu, sans
zone visuelle d'élément unité client La série
obtient dynamiquement des attributs communs
tels que la taille de la bordure et la taille des éléments
: - element.clientTop : la taille de la bordure supérieure de l'élément
- element.clientLeft : la taille de la bordure gauche de l'élément
- element.clientWidth* : renvoie sa largeur, y compris le remplissage et la zone de contenu, à l'exclusion de la bordure, sans unité
- element.clientHeight* : renvoie la hauteur de lui-même, y compris le remplissage et la zone de contenu, à l'exclusion des bordures, sans
élément unité scroll scroll series
obtient dynamiquement la taille et la distance de défilement des éléments.
Attributs communs
- element.srcollTop* : renvoie la distance du côté supérieur roulé, sans unité
- element.srcollLeft* : renvoie la distance roulée. distance à gauche, sans unité
- element.srcollWidth : Renvoie sa largeur réelle, sans bordure, sans unité
- element.srcollHeight : Renvoie sa hauteur réelle, ne contient pas de bordures et n'a pas de
barre de défilement unitaire Lors du défilement, l'événement onscroll sera déclenché.
pour afficher la distance de défilement de la barre de défilement.
window.pageXOffset/pageYOffset
IE8 et inférieurs ne sont pas compatibles avec document.body/documentElement.scrollLeft/scrollTop
La compatibilité est déroutante et prend beaucoup de temps. Ajoutez deux valeurs, car c'est impossible. pour que deux valeurs aient des valeurs en même temps .Méthode de compatibilité d'encapsulation, trouver la distance de roulement de la roue de la barre de défilement getScrollOffet()
/*
Encapsule une méthode pour obtenir la distance de défilement de la barre de défilement Renvoie : x : la distance de défilement de la barre de défilement horizontale y : la distance de défilement de la barre de défilement verticale */function getScrollOffet(){
si(window.pageXOffset){
return {//{} de l'objet doit être après le mot-clé, sinon le système l'ajoutera automatiquement et la valeur de retour ne sera pas définie ;
x : window.pageXOffset,
y : window.pageYOffset }
}else{//Compatible avec IE8 et versions antérieures return {
x : document.body.scrollLeft + document.documentElement.scrollLeft,
y : document.body.scrollTop + document.documentElement.scrollTop }
}}
Afficher la taille de la
window.innerWidth/innerHeight
n'est pas compatible avec IE8 et versions antérieures (remarque : la largeur et la hauteur ici n'incluent pas la hauteur de la barre de menus, de la barre d'outils, de la barre de défilement, etc.) document.documentElement.clientWidth/clientHeight
en mode standard, n'importe quel navigateur est compatible avec document.body.clientWidth/clientHeight
Il s'agit d'une méthode de compatibilité d'encapsulation du navigateur adaptée aux situations étranges. Renvoie la taille de la fenêtre du navigateur. getViewportOffset()
/*Encapsulation renvoie la valeur de retour de la taille de la fenêtre du navigateur. :
w : largeur de la fenêtre h : hauteur de la fenêtre*/function getViewportOffset(){
si(window.innerWidth){
retour {
w : window.innerWidth,
h : window.innerHeight }
}else{ //Compatible avec les navigateurs IE8 et inférieurs if(document.compatMode == 'BackCompat'){
//Retour { en mode de rendu bizarre
w : document.body.clientWidth,
h : document.body.clientHeight }
}autre{
//Retour en mode standard {
w : document.documentElement.clientWidth,
h : document.documentElement.clientHeight }
}
}}console.log(document.compatMode); // Mode bizarre BackCompat // Mode standard CSS1Compat
pour afficher la taille géométrique de l'élément. La nouvelle compréhension ES5 de
domElement.getBoundingClientRect()
renvoie un objet qui contient left ; , Les attributs tels que top, right et bottom. Left et top représentent les coordonnées X et Y du coin supérieur gauche de l'élément. Right et bottom représentent les coordonnées X et Y du coin inférieur droit de l'élément. les attributs width ne sont pas implémentés dans les anciennes versions d'IE. Les résultats renvoyés ne sont pas en temps réel '
// Obtenez la position de l'élément dans la fonction du document getElementPosition(target){.
//Prise en charge de la méthode BoundingClientRect() if(0 && target.getBoundingClientRect){
var pos = target.getBoundingClientRect();
return { // Lorsque la barre de défilement bouge, ajoutez la position x de la barre de défilement : pos.left + Math.max(document.body.scrollLeft, document.documentElement.scrollLeft),
y : pos.top + Math.max(document.body.scrollTop, document.documentElement.scrollTop)
}
} autre {
var pos = {
gauche : 0,
haut : 0
}
var _elm = cible ;
while(target.offsetParent){
if(_elm == target){//Accumulez à gauche et en haut pour la première fois
pos.left += target.offsetLeft;
pos.top += target.offsetTop;
}autre{
pos.left += target.offsetLeft + target.clientLeft;
pos.top += target.offsetTop + target.clientTop ;
}
// la cible réaffecte target = target.offsetParent;
}
return { x : pos.gauche, y : pos.top}
}}
Barre d'état
de la propriété
- defaultStatus modifie l'état d'affichage par défaut de la barre d'état du navigateur
- modifie temporairement la
position de la fenêtre
d'affichage de l'état du navigateur - IE
- screenLeft déclare la coordonnée x du coin supérieur gauche de la fenêtre
- screenTop déclare la coordonnée y du coin supérieur gauche de la fenêtre
- document.body.screenLeft
- document. documentElement.screenLeft déclare le nombre de pixels que le document actuel a défilé vers la droite
- document.body.screenTop
- document.documentElement.screenTop déclare le nombre de pixels que le document actuel a défilé vers la droite
- ! IE
- screenX déclare la coordonnée x du coin supérieur gauche de la fenêtre
- screenY déclare le coin supérieur gauche de la fenêtre La coordonnée y
- pageXOffset déclare le nombre de pixels que le document actuel a défilé vers la droite
- pageYOffset déclare le nombre de pixels que le le document actuel a défilé vers la droite
- FF
- innerHeight renvoie la hauteur de la zone d'affichage du document de la
- fenêtre innerWidth renvoie la largeur de la zone d'affichage du document de la fenêtre
- externalWidth renvoie la largeur extérieure de la fenêtre
- externalHeight Renvoie la hauteur extérieure de l'ouvreur de fenêtre
et d'autres attributs
- peuvent réaliser la communication entre les formulaires sous le même nom de domaine. Un formulaire doit contenir l'ouvreur d'un autre formulaire
- fermé renvoie vrai lorsque la fenêtre actuelle est fermée
- ou renvoie le nom de la fenêtre
- elle-même
. - renvoie le nom de la fenêtre actuelle.