Agir sur les fenêtres

Le net art faisait la part belle aux expérimentations sur son outil premier, le navigateur. Les javascripts ici sommairement présentés leur rend hommage.

Move !

Pour bouger la fenêtre du navigateur, on s’adresse à l’objet window.

<a href="javascript:window.moveTo(10,200);">Deplacer la fenêtre</a>

Ici on fait sauter la fenêtre d’un endroit à un autre. La taille est relative à l’écran. Attention, javascript est "case sensitive", les majuscules sont importantes.

<a href="javascript:window.moveBy(0,-100);">100 pixels vers le haut</a>

Les deux chiffres à passer sont bien entendu la distance de déplacement en pixels.

Resize !

<a href="javascript:window.resizeTo(400,300);">Fenêtre de taille 400X300</a> - <a href="javascript:window.resizeTo(200,600);">Fenêtre de taille 200X600</a>

ResizeTo modifie la taille de la fenêtre à la taille indiquée.

<a href="javascript:window.resizeBy(10,10);">Agrandir de 10 pixels</a> - <a href="javascript:window.resizeBy(-10,-10);">Reduire de 10 pixels</a>

resizeBy modifie la taille actuelle de la fenêtre avec les valeurs indiquées.

Scroll !

<a href="javascript:window.scrollTo(0,-200);">Aller plus haut</a> - <a href="javascript:window.scrollTo(0,200);">Aller plus bas</a>

Amène la page jusqu’à une coordonnée fixe de la page en déplaçant les ascenceurs de la page.
NB : Pour que ce code fonctionne la page doit être assez longue pour avoir des ascenceurs.

ScrollBy fait le même travail, mais par rapport à l’endroit actuel de la page.

<a href="javascript:window.scrollBy(0,-100);">Scroller plus haut</a> - <a href="javascript:window.scrollBy(0,100);">scroller plus bas</a>

Quelle est la taille de l’écran ?

Dès que l’on voudra avoir un meilleur contrôle du mouvement de ces fenêtres, on aura besoin de connaitre la taille de l’écran sur laquelle elles sont affichées. C’est facile avec screen.width et screen.height.

<a href="javascript:alert('Cet écran est en ' + screen.width + 'X' + screen.height);">
Quelle est la résolution de cet écran ?</a>

Un fichier de test, rapidement